! BROWSER.f90

! This module contains the Automation interfaces of the objects defined in 
! C:\WIN95\SYSTEM\SHDOCVW.DLL
! Generated by the Fortran Module Wizard on xx/xx/xx

	MODULE BROWSER
		USE DFCOMTY
		USE DFAUTO
		IMPLICIT NONE
	

		! CLSIDs		
		TYPE (GUID), PARAMETER :: CLSID_InternetExplorer = &
			GUID(#0002DF01, #0000, #0000, &
			  CHAR('C0'X)//CHAR('00'X)//CHAR('00'X)//CHAR('00'X)// &
			  CHAR('00'X)//CHAR('00'X)//CHAR('00'X)//CHAR('46'X))
		TYPE (GUID), PARAMETER :: CLSID_ShellDispatchInproc = &
			GUID(#0A89A860, #D7B1, #11CE, &
			  CHAR('83'X)//CHAR('50'X)//CHAR('44'X)//CHAR('45'X)// &
			  CHAR('53'X)//CHAR('54'X)//CHAR('00'X)//CHAR('00'X))
		TYPE (GUID), PARAMETER :: CLSID_Shell = &
			GUID(#13709620, #C279, #11CE, &
			  CHAR('A4'X)//CHAR('9E'X)//CHAR('44'X)//CHAR('45'X)// &
			  CHAR('53'X)//CHAR('54'X)//CHAR('00'X)//CHAR('00'X))
		TYPE (GUID), PARAMETER :: CLSID_WebViewFolderContents = &
			GUID(#1820FED0, #473E, #11D0, &
			  CHAR('A9'X)//CHAR('6C'X)//CHAR('00'X)//CHAR('C0'X)// &
			  CHAR('4F'X)//CHAR('D7'X)//CHAR('05'X)//CHAR('A2'X))
		TYPE (GUID), PARAMETER :: CLSID_ShellFolderView = &
			GUID(#62112AA1, #EBE4, #11CF, &
			  CHAR('A5'X)//CHAR('FB'X)//CHAR('00'X)//CHAR('20'X)// &
			  CHAR('AF'X)//CHAR('E7'X)//CHAR('29'X)//CHAR('2D'X))
		TYPE (GUID), PARAMETER :: CLSID_ShellUIHelper = &
			GUID(#64AB4BB7, #111E, #11D1, &
			  CHAR('8F'X)//CHAR('79'X)//CHAR('00'X)//CHAR('C0'X)// &
			  CHAR('4F'X)//CHAR('C2'X)//CHAR('FB'X)//CHAR('E1'X))
		TYPE (GUID), PARAMETER :: CLSID_WebBrowser = &
			GUID(#8856F961, #340A, #11D0, &
			  CHAR('A9'X)//CHAR('6B'X)//CHAR('00'X)//CHAR('C0'X)// &
			  CHAR('4F'X)//CHAR('D7'X)//CHAR('05'X)//CHAR('A2'X))
		TYPE (GUID), PARAMETER :: CLSID_ShellFolderViewOC = &
			GUID(#9BA05971, #F6A8, #11CF, &
			  CHAR('A4'X)//CHAR('42'X)//CHAR('00'X)//CHAR('A0'X)// &
			  CHAR('C9'X)//CHAR('0A'X)//CHAR('8F'X)//CHAR('39'X))
		TYPE (GUID), PARAMETER :: CLSID_WebBrowser_V1 = &
			GUID(#EAB22AC3, #30C1, #11CF, &
			  CHAR('A7'X)//CHAR('EB'X)//CHAR('00'X)//CHAR('00'X)// &
			  CHAR('C0'X)//CHAR('5B'X)//CHAR('AE'X)//CHAR('0B'X))

		! IIDs		
		TYPE (GUID), PARAMETER :: IID_DWebBrowserEvents2 = &
			GUID(#34A715A0, #6587, #11D0, &
			  CHAR('92'X)//CHAR('4A'X)//CHAR('00'X)//CHAR('20'X)// &
			  CHAR('AF'X)//CHAR('C7'X)//CHAR('AC'X)//CHAR('4D'X))
		TYPE (GUID), PARAMETER :: IID_DShellFolderViewEvents = &
			GUID(#62112AA2, #EBE4, #11CF, &
			  CHAR('A5'X)//CHAR('FB'X)//CHAR('00'X)//CHAR('20'X)// &
			  CHAR('AF'X)//CHAR('E7'X)//CHAR('29'X)//CHAR('2D'X))
		TYPE (GUID), PARAMETER :: IID_DWebBrowserEvents = &
			GUID(#EAB22AC2, #30C1, #11CF, &
			  CHAR('A7'X)//CHAR('EB'X)//CHAR('00'X)//CHAR('00'X)// &
			  CHAR('C0'X)//CHAR('5B'X)//CHAR('AE'X)//CHAR('0B'X))
		TYPE (GUID), PARAMETER :: IID_DShellWindowsEvents = &
			GUID(#FE4106E0, #399A, #11D0, &
			  CHAR('A4'X)//CHAR('8C'X)//CHAR('00'X)//CHAR('A0'X)// &
			  CHAR('C9'X)//CHAR('0A'X)//CHAR('8F'X)//CHAR('39'X))

		! Enums		
		! CommandStateChangeConstants (Constants for WebBrowser CommandStateChange)
			INTEGER, PARAMETER ::	CSC_UPDATECOMMANDS = -1	! Command Change
			INTEGER, PARAMETER ::	CSC_NAVIGATEFORWARD = 1	! Navigate Forward
			INTEGER, PARAMETER ::	CSC_NAVIGATEBACK = 2	! Navigate Back
		! OLECMDEXECOPT 
			INTEGER, PARAMETER ::	OLECMDEXECOPT_DODEFAULT = 0	
			INTEGER, PARAMETER ::	OLECMDEXECOPT_PROMPTUSER = 1	
			INTEGER, PARAMETER ::	OLECMDEXECOPT_DONTPROMPTUSER = 2	
			INTEGER, PARAMETER ::	OLECMDEXECOPT_SHOWHELP = 3	
		! OLECMDF 
			INTEGER, PARAMETER ::	OLECMDF_SUPPORTED = 1	
			INTEGER, PARAMETER ::	OLECMDF_ENABLED = 2	
			INTEGER, PARAMETER ::	OLECMDF_LATCHED = 4	
			INTEGER, PARAMETER ::	OLECMDF_NINCHED = 8	
		! OLECMDID 
			INTEGER, PARAMETER ::	OLECMDID_OPEN = 1	
			INTEGER, PARAMETER ::	OLECMDID_NEW = 2	
			INTEGER, PARAMETER ::	OLECMDID_SAVE = 3	
			INTEGER, PARAMETER ::	OLECMDID_SAVEAS = 4	
			INTEGER, PARAMETER ::	OLECMDID_SAVECOPYAS = 5	
			INTEGER, PARAMETER ::	OLECMDID_PRINT = 6	
			INTEGER, PARAMETER ::	OLECMDID_PRINTPREVIEW = 7	
			INTEGER, PARAMETER ::	OLECMDID_PAGESETUP = 8	
			INTEGER, PARAMETER ::	OLECMDID_SPELL = 9	
			INTEGER, PARAMETER ::	OLECMDID_PROPERTIES = 10	
			INTEGER, PARAMETER ::	OLECMDID_CUT = 11	
			INTEGER, PARAMETER ::	OLECMDID_COPY = 12	
			INTEGER, PARAMETER ::	OLECMDID_PASTE = 13	
			INTEGER, PARAMETER ::	OLECMDID_PASTESPECIAL = 14	
			INTEGER, PARAMETER ::	OLECMDID_UNDO = 15	
			INTEGER, PARAMETER ::	OLECMDID_REDO = 16	
			INTEGER, PARAMETER ::	OLECMDID_SELECTALL = 17	
			INTEGER, PARAMETER ::	OLECMDID_CLEARSELECTION = 18	
			INTEGER, PARAMETER ::	OLECMDID_ZOOM = 19	
			INTEGER, PARAMETER ::	OLECMDID_GETZOOMRANGE = 20	
			INTEGER, PARAMETER ::	OLECMDID_UPDATECOMMANDS = 21	
			INTEGER, PARAMETER ::	OLECMDID_REFRESH = 22	
			INTEGER, PARAMETER ::	OLECMDID_STOP = 23	
			INTEGER, PARAMETER ::	OLECMDID_HIDETOOLBARS = 24	
			INTEGER, PARAMETER ::	OLECMDID_SETPROGRESSMAX = 25	
			INTEGER, PARAMETER ::	OLECMDID_SETPROGRESSPOS = 26	
			INTEGER, PARAMETER ::	OLECMDID_SETPROGRESSTEXT = 27	
			INTEGER, PARAMETER ::	OLECMDID_SETTITLE = 28	
			INTEGER, PARAMETER ::	OLECMDID_SETDOWNLOADSTATE = 29	
			INTEGER, PARAMETER ::	OLECMDID_STOPDOWNLOAD = 30	
			INTEGER, PARAMETER ::	OLECMDID_ONTOOLBARACTIVATED = 31	
			INTEGER, PARAMETER ::	OLECMDID_FIND = 32	
			INTEGER, PARAMETER ::	OLECMDID_DELETE = 33	
			INTEGER, PARAMETER ::	OLECMDID_HTTPEQUIV = 34	
			INTEGER, PARAMETER ::	OLECMDID_HTTPEQUIV_DONE = 35	
			INTEGER, PARAMETER ::	OLECMDID_ENABLE_INTERACTION = 36	
			INTEGER, PARAMETER ::	OLECMDID_ONUNLOAD = 37	
			INTEGER, PARAMETER ::	OLECMDID_PROPERTYBAG2 = 38	
			INTEGER, PARAMETER ::	OLECMDID_PREREFRESH = 39	
		! ShellFolderViewOptions (Constants for ViewOptions)
			INTEGER, PARAMETER ::	SFVVO_SHOWALLOBJECTS = 1	! Show All Objects
			INTEGER, PARAMETER ::	SFVVO_SHOWEXTENSIONS = 2	! Show File Extensions
			INTEGER, PARAMETER ::	SFVVO_SHOWCOMPCOLOR = 8	! Color encode Compressed files
			INTEGER, PARAMETER ::	SFVVO_SHOWSYSFILES = 32	! Show System Files
			INTEGER, PARAMETER ::	SFVVO_WIN95CLASSIC = 64	! Use Windows 95 UI settings
			INTEGER, PARAMETER ::	SFVVO_DOUBLECLICKINWEBVIEW = 128	! User needs to double click in web View
			INTEGER, PARAMETER ::	SFVVO_DESKTOPHTML = 512	! Is Desktop HTML enabled
		! ShellSpecialFolderConstants (Constants for Special Folders for open/Explore)
			INTEGER, PARAMETER ::	ssfDESKTOP = 0	! Special Folder DESKTOP
			INTEGER, PARAMETER ::	ssfPROGRAMS = 2	! Special Folder PROGRAMS
			INTEGER, PARAMETER ::	ssfCONTROLS = 3	! Special Folder CONTROLS
			INTEGER, PARAMETER ::	ssfPRINTERS = 4	! Special Folder PRINTERS
			INTEGER, PARAMETER ::	ssfPERSONAL = 5	! Special Folder PERSONAL
			INTEGER, PARAMETER ::	ssfFAVORITES = 6	! Special Folder FAVORITES
			INTEGER, PARAMETER ::	ssfSTARTUP = 7	! Special Folder STARTUP
			INTEGER, PARAMETER ::	ssfRECENT = 8	! Special Folder RECENT
			INTEGER, PARAMETER ::	ssfSENDTO = 9	! Special Folder SENDTO
			INTEGER, PARAMETER ::	ssfBITBUCKET = 10	! Special Folder BITBUCKET
			INTEGER, PARAMETER ::	ssfSTARTMENU = 11	! Special Folder STARTMENU
			INTEGER, PARAMETER ::	ssfDESKTOPDIRECTORY = 16	! Special Folder DESKTOPDIRECTORY
			INTEGER, PARAMETER ::	ssfDRIVES = 17	! Special Folder DRIVES
			INTEGER, PARAMETER ::	ssfNETWORK = 18	! Special Folder NETWORK
			INTEGER, PARAMETER ::	ssfNETHOOD = 19	! Special Folder NETHOOD
			INTEGER, PARAMETER ::	ssfFONTS = 20	! Special Folder FONTS
			INTEGER, PARAMETER ::	ssfTEMPLATES = 21	! Special Folder TEMPLATES
		! ShellWindowFindWindowOptions (Options for ShellWindows FindWindow)
			INTEGER, PARAMETER ::	SWFO_NEEDDISPATCH = 1	! Need Dispatch
			INTEGER, PARAMETER ::	SWFO_INCLUDEPENDING = 2	! Include Pending
			INTEGER, PARAMETER ::	SWFO_COOKIEPASSED = 4	! Cookie Passed
		! ShellWindowTypeConstants (Constants for ShellWindows registration)
			INTEGER, PARAMETER ::	SWC_EXPLORER = 0	! Explorer
			INTEGER, PARAMETER ::	SWC_BROWSER = 1	! Various Browsing Windows
			INTEGER, PARAMETER ::	SWC_3RDPARTY = 2	! 3rd Party Browsers
			INTEGER, PARAMETER ::	SWC_CALLBACK = 4	! Creation Callback
		! tagREADYSTATE 
			INTEGER, PARAMETER ::	READYSTATE_UNINITIALIZED = 0	
			INTEGER, PARAMETER ::	READYSTATE_LOADING = 1	
			INTEGER, PARAMETER ::	READYSTATE_LOADED = 2	
			INTEGER, PARAMETER ::	READYSTATE_INTERACTIVE = 3	
			INTEGER, PARAMETER ::	READYSTATE_COMPLETE = 4	

		! Interfaces
		INTERFACE
			!The Selection in the view changed.
 			! MEMBERID = 200
 			SUBROUTINE DShellFolderViewEvents_SelectionChanged($OBJECT)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: DShellFolderViewEvents_SelectionChanged
			END SUBROUTINE DShellFolderViewEvents_SelectionChanged
		END INTERFACE
		INTERFACE
			!A new window was registered.
 			! MEMBERID = 200
 			SUBROUTINE DShellWindowsEvents_WindowRegistered($OBJECT, lCookie)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: lCookie	
				!DEC$ ATTRIBUTES VALUE	:: lCookie
			!DEC$ ATTRIBUTES STDCALL :: DShellWindowsEvents_WindowRegistered
			END SUBROUTINE DShellWindowsEvents_WindowRegistered
		END INTERFACE
		INTERFACE
			!A new window was revoked.
 			! MEMBERID = 201
 			SUBROUTINE DShellWindowsEvents_WindowRevoked($OBJECT, lCookie)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: lCookie	
				!DEC$ ATTRIBUTES VALUE	:: lCookie
			!DEC$ ATTRIBUTES STDCALL :: DShellWindowsEvents_WindowRevoked
			END SUBROUTINE DShellWindowsEvents_WindowRevoked
		END INTERFACE
		INTERFACE
			!Fired when a new hyperlink is being navigated to.
 			! MEMBERID = 100
 			SUBROUTINE DWebBrowserEvents_BeforeNavigate($OBJECT, URL, Flags, TargetFrameName, PostData, Headers, Cancel)
				USE DFCOMTY
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: URL
				INTEGER*4	:: Flags	
				!DEC$ ATTRIBUTES VALUE	:: Flags
				INTEGER*4	:: TargetFrameName	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: TargetFrameName
				TYPE (VARIANT)	:: PostData	
				!DEC$ ATTRIBUTES REFERENCE	:: PostData
				INTEGER*4	:: Headers	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: Headers
				LOGICAL*2, INTENT(INOUT)	:: Cancel	
				!DEC$ ATTRIBUTES REFERENCE	:: Cancel
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_BeforeNavigate
			END SUBROUTINE DWebBrowserEvents_BeforeNavigate
		END INTERFACE
		INTERFACE
			!The enabled state of a command changed
 			! MEMBERID = 105
 			SUBROUTINE DWebBrowserEvents_CommandStateChange($OBJECT, Command, Enable)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: Command	
				!DEC$ ATTRIBUTES VALUE	:: Command
				LOGICAL*2, INTENT(IN)	:: Enable	
				!DEC$ ATTRIBUTES VALUE	:: Enable
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_CommandStateChange
			END SUBROUTINE DWebBrowserEvents_CommandStateChange
		END INTERFACE
		INTERFACE
			!Download of a page started.
 			! MEMBERID = 106
 			SUBROUTINE DWebBrowserEvents_DownloadBegin($OBJECT)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_DownloadBegin
			END SUBROUTINE DWebBrowserEvents_DownloadBegin
		END INTERFACE
		INTERFACE
			!Download of page complete.
 			! MEMBERID = 104
 			SUBROUTINE DWebBrowserEvents_DownloadComplete($OBJECT)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_DownloadComplete
			END SUBROUTINE DWebBrowserEvents_DownloadComplete
		END INTERFACE
		INTERFACE
			!Fired when a new hyperlink is being navigated to in a frame.
 			! MEMBERID = 200
 			SUBROUTINE DWebBrowserEvents_FrameBeforeNavigate($OBJECT, URL, Flags, TargetFrameName, PostData, Headers, Cancel)
				USE DFCOMTY
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: URL
				INTEGER*4	:: Flags	
				!DEC$ ATTRIBUTES VALUE	:: Flags
				INTEGER*4	:: TargetFrameName	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: TargetFrameName
				TYPE (VARIANT)	:: PostData	
				!DEC$ ATTRIBUTES REFERENCE	:: PostData
				INTEGER*4	:: Headers	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: Headers
				LOGICAL*2, INTENT(INOUT)	:: Cancel	
				!DEC$ ATTRIBUTES REFERENCE	:: Cancel
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_FrameBeforeNavigate
			END SUBROUTINE DWebBrowserEvents_FrameBeforeNavigate
		END INTERFACE
		INTERFACE
			!Fired when a new hyperlink is being navigated to in a frame.
 			! MEMBERID = 201
 			SUBROUTINE DWebBrowserEvents_FrameNavigateComplete($OBJECT, URL)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: URL
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_FrameNavigateComplete
			END SUBROUTINE DWebBrowserEvents_FrameNavigateComplete
		END INTERFACE
		INTERFACE
			!Fired when a new window should be created.
 			! MEMBERID = 204
 			SUBROUTINE DWebBrowserEvents_FrameNewWindow($OBJECT, URL, Flags, TargetFrameName, PostData, Headers, Processed)
				USE DFCOMTY
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: URL
				INTEGER*4, INTENT(IN)	:: Flags	
				!DEC$ ATTRIBUTES VALUE	:: Flags
				INTEGER*4, INTENT(IN)	:: TargetFrameName	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: TargetFrameName
				TYPE (VARIANT), INTENT(IN)	:: PostData	
				!DEC$ ATTRIBUTES REFERENCE	:: PostData
				INTEGER*4, INTENT(IN)	:: Headers	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: Headers
				LOGICAL*2, INTENT(INOUT)	:: Processed	
				!DEC$ ATTRIBUTES REFERENCE	:: Processed
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_FrameNewWindow
			END SUBROUTINE DWebBrowserEvents_FrameNewWindow
		END INTERFACE
		INTERFACE
			!Fired when the document being navigated to becomes visible and enters the navigation stack.
 			! MEMBERID = 101
 			SUBROUTINE DWebBrowserEvents_NavigateComplete($OBJECT, URL)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: URL
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_NavigateComplete
			END SUBROUTINE DWebBrowserEvents_NavigateComplete
		END INTERFACE
		INTERFACE
			!Fired when a new window should be created.
 			! MEMBERID = 107
 			SUBROUTINE DWebBrowserEvents_NewWindow($OBJECT, URL, Flags, TargetFrameName, PostData, Headers, Processed)
				USE DFCOMTY
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: URL
				INTEGER*4, INTENT(IN)	:: Flags	
				!DEC$ ATTRIBUTES VALUE	:: Flags
				INTEGER*4, INTENT(IN)	:: TargetFrameName	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: TargetFrameName
				TYPE (VARIANT), INTENT(IN)	:: PostData	
				!DEC$ ATTRIBUTES REFERENCE	:: PostData
				INTEGER*4, INTENT(IN)	:: Headers	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: Headers
				LOGICAL*2, INTENT(INOUT)	:: Processed	
				!DEC$ ATTRIBUTES REFERENCE	:: Processed
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_NewWindow
			END SUBROUTINE DWebBrowserEvents_NewWindow
		END INTERFACE
		INTERFACE
			!Fired when download progress is updated.
 			! MEMBERID = 108
 			SUBROUTINE DWebBrowserEvents_ProgressChange($OBJECT, Progress, ProgressMax)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: Progress	
				!DEC$ ATTRIBUTES VALUE	:: Progress
				INTEGER*4, INTENT(IN)	:: ProgressMax	
				!DEC$ ATTRIBUTES VALUE	:: ProgressMax
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_ProgressChange
			END SUBROUTINE DWebBrowserEvents_ProgressChange
		END INTERFACE
		INTERFACE
			!Fired when the PutProperty method has been called.
 			! MEMBERID = 112
 			SUBROUTINE DWebBrowserEvents_PropertyChange($OBJECT, Property)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: Property	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: Property
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_PropertyChange
			END SUBROUTINE DWebBrowserEvents_PropertyChange
		END INTERFACE
		INTERFACE
			!Fired when application is quiting.
 			! MEMBERID = 103
 			SUBROUTINE DWebBrowserEvents_Quit($OBJECT, Cancel)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(INOUT)	:: Cancel	
				!DEC$ ATTRIBUTES REFERENCE	:: Cancel
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_Quit
			END SUBROUTINE DWebBrowserEvents_Quit
		END INTERFACE
		INTERFACE
			!Statusbar text changed.
 			! MEMBERID = 102
 			SUBROUTINE DWebBrowserEvents_StatusTextChange($OBJECT, Text)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: Text	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: Text
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_StatusTextChange
			END SUBROUTINE DWebBrowserEvents_StatusTextChange
		END INTERFACE
		INTERFACE
			!Document title changed.
 			! MEMBERID = 113
 			SUBROUTINE DWebBrowserEvents_TitleChange($OBJECT, Text)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: Text	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: Text
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_TitleChange
			END SUBROUTINE DWebBrowserEvents_TitleChange
		END INTERFACE
		INTERFACE
			!Fired when window has been activated.
 			! MEMBERID = 111
 			SUBROUTINE DWebBrowserEvents_WindowActivate($OBJECT)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_WindowActivate
			END SUBROUTINE DWebBrowserEvents_WindowActivate
		END INTERFACE
		INTERFACE
			!Fired when window has been moved.
 			! MEMBERID = 109
 			SUBROUTINE DWebBrowserEvents_WindowMove($OBJECT)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_WindowMove
			END SUBROUTINE DWebBrowserEvents_WindowMove
		END INTERFACE
		INTERFACE
			!Fired when window has been sized.
 			! MEMBERID = 110
 			SUBROUTINE DWebBrowserEvents_WindowResize($OBJECT)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents_WindowResize
			END SUBROUTINE DWebBrowserEvents_WindowResize
		END INTERFACE
		INTERFACE
			!Fired before navigate occurs in the given WebBrowser (window or frameset element). The processing of this navigation may be modified.
 			! MEMBERID = 250
 			SUBROUTINE DWebBrowserEvents2_BeforeNavigate2($OBJECT, pDisp, URL, Flags, TargetFrameName, PostData, Headers, Cancel)
				USE DFCOMTY
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: pDisp	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: pDisp
				TYPE (VARIANT), INTENT(IN)	:: URL	
				!DEC$ ATTRIBUTES REFERENCE	:: URL
				TYPE (VARIANT), INTENT(IN)	:: Flags	
				!DEC$ ATTRIBUTES REFERENCE	:: Flags
				TYPE (VARIANT), INTENT(IN)	:: TargetFrameName	
				!DEC$ ATTRIBUTES REFERENCE	:: TargetFrameName
				TYPE (VARIANT), INTENT(IN)	:: PostData	
				!DEC$ ATTRIBUTES REFERENCE	:: PostData
				TYPE (VARIANT), INTENT(IN)	:: Headers	
				!DEC$ ATTRIBUTES REFERENCE	:: Headers
				LOGICAL*2, INTENT(INOUT)	:: Cancel	
				!DEC$ ATTRIBUTES REFERENCE	:: Cancel
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_BeforeNavigate2
			END SUBROUTINE DWebBrowserEvents2_BeforeNavigate2
		END INTERFACE
		INTERFACE
			!The enabled state of a command changed.
 			! MEMBERID = 105
 			SUBROUTINE DWebBrowserEvents2_CommandStateChange($OBJECT, Command, Enable)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: Command	
				!DEC$ ATTRIBUTES VALUE	:: Command
				LOGICAL*2, INTENT(IN)	:: Enable	
				!DEC$ ATTRIBUTES VALUE	:: Enable
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_CommandStateChange
			END SUBROUTINE DWebBrowserEvents2_CommandStateChange
		END INTERFACE
		INTERFACE
			!Fired when the document being navigated to reaches ReadyState_Complete.
 			! MEMBERID = 259
 			SUBROUTINE DWebBrowserEvents2_DocumentComplete($OBJECT, pDisp, URL)
				USE DFCOMTY
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: pDisp	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: pDisp
				TYPE (VARIANT), INTENT(IN)	:: URL	
				!DEC$ ATTRIBUTES REFERENCE	:: URL
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_DocumentComplete
			END SUBROUTINE DWebBrowserEvents2_DocumentComplete
		END INTERFACE
		INTERFACE
			!Download of a page started.
 			! MEMBERID = 106
 			SUBROUTINE DWebBrowserEvents2_DownloadBegin($OBJECT)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_DownloadBegin
			END SUBROUTINE DWebBrowserEvents2_DownloadBegin
		END INTERFACE
		INTERFACE
			!Download of page complete.
 			! MEMBERID = 104
 			SUBROUTINE DWebBrowserEvents2_DownloadComplete($OBJECT)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_DownloadComplete
			END SUBROUTINE DWebBrowserEvents2_DownloadComplete
		END INTERFACE
		INTERFACE
			!Fired when the document being navigated to becomes visible and enters the navigation stack.
 			! MEMBERID = 252
 			SUBROUTINE DWebBrowserEvents2_NavigateComplete2($OBJECT, pDisp, URL)
				USE DFCOMTY
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: pDisp	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: pDisp
				TYPE (VARIANT), INTENT(IN)	:: URL	
				!DEC$ ATTRIBUTES REFERENCE	:: URL
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_NavigateComplete2
			END SUBROUTINE DWebBrowserEvents2_NavigateComplete2
		END INTERFACE
		INTERFACE
			!A new, hidden, non-navigated WebBrowser window is needed.
 			! MEMBERID = 251
 			SUBROUTINE DWebBrowserEvents2_NewWindow2($OBJECT, ppDisp, Cancel)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(INOUT)	:: ppDisp	! IDispatch
				!DEC$ ATTRIBUTES REFERENCE	:: ppDisp
				LOGICAL*2, INTENT(INOUT)	:: Cancel	
				!DEC$ ATTRIBUTES REFERENCE	:: Cancel
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_NewWindow2
			END SUBROUTINE DWebBrowserEvents2_NewWindow2
		END INTERFACE
		INTERFACE
			!Fired when fullscreen mode should be on/off
 			! MEMBERID = 258
 			SUBROUTINE DWebBrowserEvents2_OnFullScreen($OBJECT, FullScreen)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: FullScreen	
				!DEC$ ATTRIBUTES VALUE	:: FullScreen
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_OnFullScreen
			END SUBROUTINE DWebBrowserEvents2_OnFullScreen
		END INTERFACE
		INTERFACE
			!Fired when the menubar should be shown/hidden
 			! MEMBERID = 256
 			SUBROUTINE DWebBrowserEvents2_OnMenuBar($OBJECT, MenuBar)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: MenuBar	
				!DEC$ ATTRIBUTES VALUE	:: MenuBar
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_OnMenuBar
			END SUBROUTINE DWebBrowserEvents2_OnMenuBar
		END INTERFACE
		INTERFACE
			!Fired when application is quiting.
 			! MEMBERID = 253
 			SUBROUTINE DWebBrowserEvents2_OnQuit($OBJECT)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_OnQuit
			END SUBROUTINE DWebBrowserEvents2_OnQuit
		END INTERFACE
		INTERFACE
			!Fired when the statusbar should be shown/hidden
 			! MEMBERID = 257
 			SUBROUTINE DWebBrowserEvents2_OnStatusBar($OBJECT, StatusBar)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: StatusBar	
				!DEC$ ATTRIBUTES VALUE	:: StatusBar
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_OnStatusBar
			END SUBROUTINE DWebBrowserEvents2_OnStatusBar
		END INTERFACE
		INTERFACE
			!Fired when theater mode should be on/off
 			! MEMBERID = 260
 			SUBROUTINE DWebBrowserEvents2_OnTheaterMode($OBJECT, TheaterMode)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: TheaterMode	
				!DEC$ ATTRIBUTES VALUE	:: TheaterMode
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_OnTheaterMode
			END SUBROUTINE DWebBrowserEvents2_OnTheaterMode
		END INTERFACE
		INTERFACE
			!Fired when the toolbar  should be shown/hidden
 			! MEMBERID = 255
 			SUBROUTINE DWebBrowserEvents2_OnToolBar($OBJECT, ToolBar)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: ToolBar	
				!DEC$ ATTRIBUTES VALUE	:: ToolBar
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_OnToolBar
			END SUBROUTINE DWebBrowserEvents2_OnToolBar
		END INTERFACE
		INTERFACE
			!Fired when the window should be shown/hidden
 			! MEMBERID = 254
 			SUBROUTINE DWebBrowserEvents2_OnVisible($OBJECT, Visible)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: Visible	
				!DEC$ ATTRIBUTES VALUE	:: Visible
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_OnVisible
			END SUBROUTINE DWebBrowserEvents2_OnVisible
		END INTERFACE
		INTERFACE
			!Fired when download progress is updated.
 			! MEMBERID = 108
 			SUBROUTINE DWebBrowserEvents2_ProgressChange($OBJECT, Progress, ProgressMax)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: Progress	
				!DEC$ ATTRIBUTES VALUE	:: Progress
				INTEGER*4, INTENT(IN)	:: ProgressMax	
				!DEC$ ATTRIBUTES VALUE	:: ProgressMax
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_ProgressChange
			END SUBROUTINE DWebBrowserEvents2_ProgressChange
		END INTERFACE
		INTERFACE
			!Fired when the PutProperty method has been called.
 			! MEMBERID = 112
 			SUBROUTINE DWebBrowserEvents2_PropertyChange($OBJECT, szProperty)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: szProperty	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: szProperty
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_PropertyChange
			END SUBROUTINE DWebBrowserEvents2_PropertyChange
		END INTERFACE
		INTERFACE
			!Statusbar text changed.
 			! MEMBERID = 102
 			SUBROUTINE DWebBrowserEvents2_StatusTextChange($OBJECT, Text)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: Text	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: Text
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_StatusTextChange
			END SUBROUTINE DWebBrowserEvents2_StatusTextChange
		END INTERFACE
		INTERFACE
			!Document title changed.
 			! MEMBERID = 113
 			SUBROUTINE DWebBrowserEvents2_TitleChange($OBJECT, Text)
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: Text	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: Text
			!DEC$ ATTRIBUTES STDCALL :: DWebBrowserEvents2_TitleChange
			END SUBROUTINE DWebBrowserEvents2_TitleChange
		END INTERFACE


		! Module Procedures
		CONTAINS
			!Copy Items to this folder.
  			SUBROUTINE Folder_CopyHere($OBJECT, vItem, vOptions, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: Folder_CopyHere
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: vItem	
				!DEC$ ATTRIBUTES REFERENCE	:: vItem
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vOptions	
				!DEC$ ATTRIBUTES REFERENCE	:: vOptions
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', vItem, .FALSE.)
				IF (PRESENT(vOptions)) CALL AUTOADDARG(invokeargs, '$ARG2', vOptions, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743816, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE Folder_CopyHere
			!Get Application object
  			INTEGER*4 FUNCTION Folder_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: Folder_GetApplication
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743809, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				Folder_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION Folder_GetApplication
			!Get the details about an item.
  			CHARACTER*(2048) FUNCTION Folder_GetDetailsOf($OBJECT, vItem, iColumn, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: Folder_GetDetailsOf
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: vItem	
				!DEC$ ATTRIBUTES REFERENCE	:: vItem
				INTEGER, INTENT(IN)	:: iColumn	
				!DEC$ ATTRIBUTES REFERENCE	:: iColumn
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG1', vItem, .FALSE.)
				CALL AUTOADDARG(invokeargs, '$ARG2', iColumn)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743817, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				Folder_GetDetailsOf = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION Folder_GetDetailsOf
			!Get Parent object
  			INTEGER*4 FUNCTION Folder_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: Folder_GetParent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743810, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				Folder_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION Folder_GetParent
			!Get Parent object
  			!Folder_GetParentFolder return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION Folder_GetParentFolder($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: Folder_GetParentFolder
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ParentFolder', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743811, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				Folder_GetParentFolder = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION Folder_GetParentFolder
			!Get the display name for the window
  			CHARACTER*(2048) FUNCTION Folder_GetTitle($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: Folder_GetTitle
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Title', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				Folder_GetTitle = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION Folder_GetTitle
			!The collection of Items in folder
  			!Folder_Items return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION Folder_Items($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: Folder_Items
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743812, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				Folder_Items = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION Folder_Items
			!Move Items to this folder.
  			SUBROUTINE Folder_MoveHere($OBJECT, vItem, vOptions, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: Folder_MoveHere
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: vItem	
				!DEC$ ATTRIBUTES REFERENCE	:: vItem
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vOptions	
				!DEC$ ATTRIBUTES REFERENCE	:: vOptions
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', vItem, .FALSE.)
				IF (PRESENT(vOptions)) CALL AUTOADDARG(invokeargs, '$ARG2', vOptions, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743815, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE Folder_MoveHere
			!Create a new sub folder in this folder.
  			SUBROUTINE Folder_NewFolder($OBJECT, bName, vOptions, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: Folder_NewFolder
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: bName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: bName
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vOptions	
				!DEC$ ATTRIBUTES REFERENCE	:: vOptions
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', bName, .FALSE., VT_BSTR)
				IF (PRESENT(vOptions)) CALL AUTOADDARG(invokeargs, '$ARG2', vOptions, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743814, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE Folder_NewFolder
			!Parse the name to get an item.
  			!Folder_ParseName return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION Folder_ParseName($OBJECT, bName, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: Folder_ParseName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: bName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: bName
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', bName, .FALSE., VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743813, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				Folder_ParseName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION Folder_ParseName
			!Get Application object
  			INTEGER*4 FUNCTION FolderItem_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetApplication
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743808, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetApplication
			!If item is a folder return folder object
  			INTEGER*4 FUNCTION FolderItem_GetGetFolder($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetGetFolder
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'GetFolder', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743814, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetGetFolder = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetGetFolder
			!If item is link return link object
  			INTEGER*4 FUNCTION FolderItem_GetGetLink($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetGetLink
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'GetLink', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743813, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetGetLink = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetGetLink
			!Is the item browsable?
  			LOGICAL*2 FUNCTION FolderItem_GetIsBrowsable($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetIsBrowsable
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'IsBrowsable', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743818, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetIsBrowsable = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetIsBrowsable
			!Is the item a file system object?
  			LOGICAL*2 FUNCTION FolderItem_GetIsFileSystem($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetIsFileSystem
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'IsFileSystem', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743817, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetIsFileSystem = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetIsFileSystem
			!Is the item a Folder?
  			LOGICAL*2 FUNCTION FolderItem_GetIsFolder($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetIsFolder
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'IsFolder', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743816, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetIsFolder = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetIsFolder
			!Is the item a link?
  			LOGICAL*2 FUNCTION FolderItem_GetIsLink($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetIsLink
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'IsLink', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743815, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetIsLink = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetIsLink
			!Modification Date?
  			INTEGER*4 FUNCTION FolderItem_GetModifyDate($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetModifyDate
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ModifyDate', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743819, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetModifyDate = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetModifyDate
			!Get display name for item
  			CHARACTER*(2048) FUNCTION FolderItem_GetName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Name', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetName
			!Get Parent object
  			INTEGER*4 FUNCTION FolderItem_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetParent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743809, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetParent
			!Get the pathname to the item
  			CHARACTER*(2048) FUNCTION FolderItem_GetPath($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetPath
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Path', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743812, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetPath = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetPath
			!Size
  			INTEGER*4 FUNCTION FolderItem_GetSize($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetSize
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Size', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743821, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetSize = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetSize
			!Type
  			CHARACTER*(2048) FUNCTION FolderItem_GetType($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_GetType
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Type', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743822, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_GetType = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_GetType
			!Execute a command on the item
  			SUBROUTINE FolderItem_InvokeVerb($OBJECT, vVerb, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_InvokeVerb
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vVerb	
				!DEC$ ATTRIBUTES REFERENCE	:: vVerb
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(vVerb)) CALL AUTOADDARG(invokeargs, '$ARG1', vVerb, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743824, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE FolderItem_InvokeVerb
			!Modification Date?
  			SUBROUTINE FolderItem_SetModifyDate($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_SetModifyDate
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	! Unsupported type
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ModifyDate', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 1610743819, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE FolderItem_SetModifyDate
			!Get display name for item
  			SUBROUTINE FolderItem_SetName($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_SetName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: $ARG1	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Name', $ARG1, .FALSE., VT_BSTR)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE FolderItem_SetName
			!Get the list of verbs for the object
  			!FolderItem_Verbs return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION FolderItem_Verbs($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItem_Verbs
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743823, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItem_Verbs = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItem_Verbs
			!Enumerates the figures
  			INTEGER*4 FUNCTION FolderItems__NewEnum($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItems__NewEnum
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_UNKNOWN)
				$$STATUS = AUTOINVOKE($OBJECT, -4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItems__NewEnum = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItems__NewEnum
			!Get Application object
  			INTEGER*4 FUNCTION FolderItems_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItems_GetApplication
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743809, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItems_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItems_GetApplication
			!Get count of items in the folder
  			INTEGER*4 FUNCTION FolderItems_GetCount($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItems_GetCount
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Count', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743808, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItems_GetCount = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItems_GetCount
			!Get Parent object
  			INTEGER*4 FUNCTION FolderItems_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItems_GetParent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743810, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItems_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItems_GetParent
			!Return the figure for the given index
  			!FolderItems_Item return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION FolderItems_Item($OBJECT, index, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItems_Item
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: index	
				!DEC$ ATTRIBUTES REFERENCE	:: index
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				IF (PRESENT(index)) CALL AUTOADDARG(invokeargs, '$ARG1', index, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743811, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItems_Item = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItems_Item
			!Execute the verb
  			SUBROUTINE FolderItemVerb_DoIt($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItemVerb_DoIt
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743811, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE FolderItemVerb_DoIt
			!Get Application object
  			INTEGER*4 FUNCTION FolderItemVerb_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItemVerb_GetApplication
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743808, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItemVerb_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItemVerb_GetApplication
			!Get display name for item
  			CHARACTER*(2048) FUNCTION FolderItemVerb_GetName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItemVerb_GetName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Name', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItemVerb_GetName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItemVerb_GetName
			!Get Parent object
  			INTEGER*4 FUNCTION FolderItemVerb_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItemVerb_GetParent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743809, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItemVerb_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItemVerb_GetParent
			!Enumerates the figures
  			INTEGER*4 FUNCTION FolderItemVerbs__NewEnum($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItemVerbs__NewEnum
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_UNKNOWN)
				$$STATUS = AUTOINVOKE($OBJECT, -4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItemVerbs__NewEnum = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItemVerbs__NewEnum
			!Get Application object
  			INTEGER*4 FUNCTION FolderItemVerbs_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItemVerbs_GetApplication
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743809, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItemVerbs_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItemVerbs_GetApplication
			!Get count of open folder windows
  			INTEGER*4 FUNCTION FolderItemVerbs_GetCount($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItemVerbs_GetCount
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Count', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743808, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItemVerbs_GetCount = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItemVerbs_GetCount
			!Get Parent object
  			INTEGER*4 FUNCTION FolderItemVerbs_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItemVerbs_GetParent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743810, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItemVerbs_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItemVerbs_GetParent
			!Return the specified verb
  			!FolderItemVerbs_Item return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION FolderItemVerbs_Item($OBJECT, index, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: FolderItemVerbs_Item
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: index	
				!DEC$ ATTRIBUTES REFERENCE	:: index
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				IF (PRESENT(index)) CALL AUTOADDARG(invokeargs, '$ARG1', index, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743811, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				FolderItemVerbs_Item = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION FolderItemVerbs_Item
			!Set the ShellFolderView object to monitor events of.
  			SUBROUTINE IFolderViewOC_SetFolderView($OBJECT, pDisp, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IFolderViewOC_SetFolderView
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: pDisp	! IDispatch
				!DEC$ ATTRIBUTES REFERENCE	:: pDisp
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', pDisp, .FALSE., VT_DISPATCH)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743808, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IFolderViewOC_SetFolderView
			!Browse the name space for a Folder
  			!IShellDispatch_BrowseForFolder return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION IShellDispatch_BrowseForFolder($OBJECT, HWND, Title, Options, RootFolder, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_BrowseForFolder
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: HWND	
				!DEC$ ATTRIBUTES REFERENCE	:: HWND
				CHARACTER*(*), INTENT(IN)	:: Title	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: Title
				INTEGER*4, INTENT(IN)	:: Options	
				!DEC$ ATTRIBUTES REFERENCE	:: Options
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: RootFolder	
				!DEC$ ATTRIBUTES REFERENCE	:: RootFolder
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', HWND)
				CALL AUTOADDARG(invokeargs, '$ARG2', Title, .FALSE., VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG3', Options)
				IF (PRESENT(RootFolder)) CALL AUTOADDARG(invokeargs, '$ARG4', RootFolder, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743811, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellDispatch_BrowseForFolder = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellDispatch_BrowseForFolder
			!Cascade Windows
  			SUBROUTINE IShellDispatch_CascadeWindows($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_CascadeWindows
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743818, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_CascadeWindows
			!Run a controlpanelItem
  			SUBROUTINE IShellDispatch_ControlPanelItem($OBJECT, szDir, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_ControlPanelItem
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: szDir	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szDir
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', szDir, .FALSE., VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743830, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_ControlPanelItem
			!Eject the pc
  			SUBROUTINE IShellDispatch_EjectPC($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_EjectPC
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743823, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_EjectPC
			!Explore a folder
  			SUBROUTINE IShellDispatch_Explore($OBJECT, vDir, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_Explore
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: vDir	
				!DEC$ ATTRIBUTES REFERENCE	:: vDir
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', vDir, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743814, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_Explore
			!Bring up the file run
  			SUBROUTINE IShellDispatch_FileRun($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_FileRun
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743817, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_FileRun
			!Find a computer
  			SUBROUTINE IShellDispatch_FindComputer($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_FindComputer
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743828, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_FindComputer
			!Find Files
  			SUBROUTINE IShellDispatch_FindFiles($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_FindFiles
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743827, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_FindFiles
			!Get Application object
  			INTEGER*4 FUNCTION IShellDispatch_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_GetApplication
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743808, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellDispatch_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellDispatch_GetApplication
			!Get Parent object
  			INTEGER*4 FUNCTION IShellDispatch_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_GetParent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743809, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellDispatch_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellDispatch_GetParent
			!Display shell help
  			SUBROUTINE IShellDispatch_Help($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_Help
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743826, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_Help
			!Minimize all windows
  			SUBROUTINE IShellDispatch_MinimizeAll($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_MinimizeAll
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743815, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_MinimizeAll
			!Enum the contents of a folder
  			!IShellDispatch_NameSpace return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION IShellDispatch_NameSpace($OBJECT, vDir, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_NameSpace
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: vDir	
				!DEC$ ATTRIBUTES REFERENCE	:: vDir
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', vDir, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743810, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellDispatch_NameSpace = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellDispatch_NameSpace
			!Open a folder
  			SUBROUTINE IShellDispatch_Open($OBJECT, vDir, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_Open
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: vDir	
				!DEC$ ATTRIBUTES REFERENCE	:: vDir
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', vDir, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743813, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_Open
			!Refresh the menu
  			SUBROUTINE IShellDispatch_RefreshMenu($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_RefreshMenu
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743829, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_RefreshMenu
			!Bring up the Set time dialog
  			SUBROUTINE IShellDispatch_SetTime($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_SetTime
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743824, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_SetTime
			!Exit Windows
  			SUBROUTINE IShellDispatch_ShutdownWindows($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_ShutdownWindows
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743821, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_ShutdownWindows
			!Suspend the pc
  			SUBROUTINE IShellDispatch_Suspend($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_Suspend
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743822, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_Suspend
			!Tile windows horizontally
  			SUBROUTINE IShellDispatch_TileHorizontally($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_TileHorizontally
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743820, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_TileHorizontally
			!Tile windows vertically
  			SUBROUTINE IShellDispatch_TileVertically($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_TileVertically
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743819, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_TileVertically
			!Handle Tray properties
  			SUBROUTINE IShellDispatch_TrayProperties($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_TrayProperties
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743825, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_TrayProperties
			!Undo Minimize All
  			SUBROUTINE IShellDispatch_UndoMinimizeALL($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_UndoMinimizeALL
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1610743816, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellDispatch_UndoMinimizeALL
			!The collection of open folder windows
  			INTEGER*4 FUNCTION IShellDispatch_Windows($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellDispatch_Windows
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743812, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellDispatch_Windows = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellDispatch_Windows
			!Get Application object
  			INTEGER*4 FUNCTION IShellFolderViewDual_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellFolderViewDual_GetApplication
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743808, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellFolderViewDual_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellFolderViewDual_GetApplication
			!The currently focused item in the folder
  			!IShellFolderViewDual_GetFocusedItem return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION IShellFolderViewDual_GetFocusedItem($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellFolderViewDual_GetFocusedItem
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'FocusedItem', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743812, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellFolderViewDual_GetFocusedItem = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellFolderViewDual_GetFocusedItem
			!Get the folder being viewed
  			!IShellFolderViewDual_GetFolder return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION IShellFolderViewDual_GetFolder($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellFolderViewDual_GetFolder
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Folder', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743810, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellFolderViewDual_GetFolder = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellFolderViewDual_GetFolder
			!Get Parent object
  			INTEGER*4 FUNCTION IShellFolderViewDual_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellFolderViewDual_GetParent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743809, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellFolderViewDual_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellFolderViewDual_GetParent
			!Returns the scripting automation model.
  			INTEGER*4 FUNCTION IShellFolderViewDual_GetScript($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellFolderViewDual_GetScript
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Script', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743815, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellFolderViewDual_GetScript = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellFolderViewDual_GetScript
			!Returns the view options for showing a folder.
  			INTEGER*4 FUNCTION IShellFolderViewDual_GetViewOptions($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellFolderViewDual_GetViewOptions
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ViewOptions', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743816, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellFolderViewDual_GetViewOptions = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellFolderViewDual_GetViewOptions
			!Show items menu and return command selected
  			CHARACTER*(2048) FUNCTION IShellFolderViewDual_PopupItemMenu($OBJECT, pfi, vx, vy, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellFolderViewDual_PopupItemMenu
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: pfi	! IDispatch
				!DEC$ ATTRIBUTES REFERENCE	:: pfi
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vx	
				!DEC$ ATTRIBUTES REFERENCE	:: vx
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vy	
				!DEC$ ATTRIBUTES REFERENCE	:: vy
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG1', pfi, .FALSE., VT_DISPATCH)
				IF (PRESENT(vx)) CALL AUTOADDARG(invokeargs, '$ARG2', vx, .FALSE.)
				IF (PRESENT(vy)) CALL AUTOADDARG(invokeargs, '$ARG3', vy, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743814, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellFolderViewDual_PopupItemMenu = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellFolderViewDual_PopupItemMenu
			!The collection of Selected Items in folder
  			!IShellFolderViewDual_SelectedItems return type is POINTER(p, INTEGER*4)
			INTEGER*4 FUNCTION IShellFolderViewDual_SelectedItems($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellFolderViewDual_SelectedItems
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743811, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellFolderViewDual_SelectedItems = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellFolderViewDual_SelectedItems
			!Select the item
  			SUBROUTINE IShellFolderViewDual_SelectItem($OBJECT, pvfi, dwFlags, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellFolderViewDual_SelectItem
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: pvfi	
				!DEC$ ATTRIBUTES REFERENCE	:: pvfi
				INTEGER, INTENT(IN)	:: dwFlags	
				!DEC$ ATTRIBUTES REFERENCE	:: dwFlags
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', pvfi, .FALSE.)
				CALL AUTOADDARG(invokeargs, '$ARG2', dwFlags)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743813, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellFolderViewDual_SelectItem
			!Get the arguments for the link
  			CHARACTER*(2048) FUNCTION IShellLinkDual_GetArguments($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_GetArguments
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Arguments', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743814, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellLinkDual_GetArguments = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellLinkDual_GetArguments
			!Get the description for the link
  			CHARACTER*(2048) FUNCTION IShellLinkDual_GetDescription($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_GetDescription
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Description', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743810, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellLinkDual_GetDescription = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellLinkDual_GetDescription
			!Get the Hotkey for the link
  			INTEGER FUNCTION IShellLinkDual_GetHotkey($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_GetHotkey
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Hotkey', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743816, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellLinkDual_GetHotkey = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellLinkDual_GetHotkey
			!Get the IconLocation for the link
  			INTEGER FUNCTION IShellLinkDual_GetIconLocation($OBJECT, pbs, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_GetIconLocation
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(OUT), VOLATILE	:: pbs	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: pbs
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				CALL AUTOADDARG(invokeargs, '$ARG1', pbs, .TRUE., VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743821, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellLinkDual_GetIconLocation = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellLinkDual_GetIconLocation
			!Get the path of the link
  			CHARACTER*(2048) FUNCTION IShellLinkDual_GetPath($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_GetPath
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Path', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743808, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellLinkDual_GetPath = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellLinkDual_GetPath
			!Get the Show Command for the link
  			INTEGER FUNCTION IShellLinkDual_GetShowCommand($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_GetShowCommand
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ShowCommand', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743818, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellLinkDual_GetShowCommand = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellLinkDual_GetShowCommand
			!Get the working directory for the link
  			CHARACTER*(2048) FUNCTION IShellLinkDual_GetWorkingDirectory($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_GetWorkingDirectory
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'WorkingDirectory', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743812, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellLinkDual_GetWorkingDirectory = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellLinkDual_GetWorkingDirectory
			!Tell the link to resolve itself
  			SUBROUTINE IShellLinkDual_Resolve($OBJECT, fFlags, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_Resolve
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER, INTENT(IN)	:: fFlags	
				!DEC$ ATTRIBUTES REFERENCE	:: fFlags
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', fFlags)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743820, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellLinkDual_Resolve
			!Tell the link to save the changes
  			SUBROUTINE IShellLinkDual_Save($OBJECT, vWhere, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_Save
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vWhere	
				!DEC$ ATTRIBUTES REFERENCE	:: vWhere
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(vWhere)) CALL AUTOADDARG(invokeargs, '$ARG1', vWhere, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743823, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellLinkDual_Save
			!Get the arguments for the link
  			SUBROUTINE IShellLinkDual_SetArguments($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_SetArguments
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: $ARG1	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Arguments', $ARG1, .FALSE., VT_BSTR)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 1610743814, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellLinkDual_SetArguments
			!Get the description for the link
  			SUBROUTINE IShellLinkDual_SetDescription($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_SetDescription
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: $ARG1	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Description', $ARG1, .FALSE., VT_BSTR)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 1610743810, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellLinkDual_SetDescription
			!Get the Hotkey for the link
  			SUBROUTINE IShellLinkDual_SetHotkey($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_SetHotkey
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Hotkey', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 1610743816, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellLinkDual_SetHotkey
			!Set the IconLocation for the link
  			SUBROUTINE IShellLinkDual_SetIconLocation($OBJECT, bs, iIcon, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_SetIconLocation
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: bs	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: bs
				INTEGER, INTENT(IN)	:: iIcon	
				!DEC$ ATTRIBUTES REFERENCE	:: iIcon
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', bs, .FALSE., VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG2', iIcon)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743822, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellLinkDual_SetIconLocation
			!Get the path of the link
  			SUBROUTINE IShellLinkDual_SetPath($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_SetPath
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: $ARG1	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Path', $ARG1, .FALSE., VT_BSTR)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 1610743808, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellLinkDual_SetPath
			!Get the Show Command for the link
  			SUBROUTINE IShellLinkDual_SetShowCommand($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_SetShowCommand
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ShowCommand', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 1610743818, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellLinkDual_SetShowCommand
			!Get the working directory for the link
  			SUBROUTINE IShellLinkDual_SetWorkingDirectory($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellLinkDual_SetWorkingDirectory
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: $ARG1	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'WorkingDirectory', $ARG1, .FALSE., VT_BSTR)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 1610743812, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellLinkDual_SetWorkingDirectory
  			SUBROUTINE IShellUIHelper_AddChannel($OBJECT, URL, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellUIHelper_AddChannel
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: URL
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', URL, .FALSE., VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 5, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellUIHelper_AddChannel
  			SUBROUTINE IShellUIHelper_AddDesktopComponent($OBJECT, URL, Type, Left, Top, Width, Height, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellUIHelper_AddDesktopComponent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: URL
				CHARACTER*(*), INTENT(IN)	:: Type	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: Type
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Left	
				!DEC$ ATTRIBUTES REFERENCE	:: Left
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Top	
				!DEC$ ATTRIBUTES REFERENCE	:: Top
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Width	
				!DEC$ ATTRIBUTES REFERENCE	:: Width
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Height	
				!DEC$ ATTRIBUTES REFERENCE	:: Height
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', URL, .FALSE., VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG2', Type, .FALSE., VT_BSTR)
				IF (PRESENT(Left)) CALL AUTOADDARG(invokeargs, '$ARG3', Left, .FALSE.)
				IF (PRESENT(Top)) CALL AUTOADDARG(invokeargs, '$ARG4', Top, .FALSE.)
				IF (PRESENT(Width)) CALL AUTOADDARG(invokeargs, '$ARG5', Width, .FALSE.)
				IF (PRESENT(Height)) CALL AUTOADDARG(invokeargs, '$ARG6', Height, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 6, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellUIHelper_AddDesktopComponent
  			SUBROUTINE IShellUIHelper_AddFavorite($OBJECT, URL, Title, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellUIHelper_AddFavorite
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: URL
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Title	
				!DEC$ ATTRIBUTES REFERENCE	:: Title
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', URL, .FALSE., VT_BSTR)
				IF (PRESENT(Title)) CALL AUTOADDARG(invokeargs, '$ARG2', Title, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellUIHelper_AddFavorite
  			LOGICAL*2 FUNCTION IShellUIHelper_IsSubscribed($OBJECT, URL, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellUIHelper_IsSubscribed
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: URL
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				CALL AUTOADDARG(invokeargs, '$ARG1', URL, .FALSE., VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 7, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellUIHelper_IsSubscribed = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellUIHelper_IsSubscribed
  			SUBROUTINE IShellUIHelper_RefreshOfflineDesktop($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellUIHelper_RefreshOfflineDesktop
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 3, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellUIHelper_RefreshOfflineDesktop
  			SUBROUTINE IShellUIHelper_ResetFirstBootMode($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellUIHelper_ResetFirstBootMode
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 1, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellUIHelper_ResetFirstBootMode
  			SUBROUTINE IShellUIHelper_ResetSafeMode($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellUIHelper_ResetSafeMode
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 2, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellUIHelper_ResetSafeMode
			!Enumerates the figures
  			INTEGER*4 FUNCTION IShellWindows__NewEnum($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows__NewEnum
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_UNKNOWN)
				$$STATUS = AUTOINVOKE($OBJECT, -4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellWindows__NewEnum = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellWindows__NewEnum
			!Find the window based on the location
  			INTEGER*4 FUNCTION IShellWindows_FindWindow($OBJECT, pvarloc, pvarlocRoot, swClass, pHWND, swfwOptions, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows_FindWindow
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: pvarloc	
				!DEC$ ATTRIBUTES REFERENCE	:: pvarloc
				TYPE (VARIANT), INTENT(IN)	:: pvarlocRoot	
				!DEC$ ATTRIBUTES REFERENCE	:: pvarlocRoot
				INTEGER, INTENT(IN)	:: swClass	
				!DEC$ ATTRIBUTES REFERENCE	:: swClass
				INTEGER*4, INTENT(OUT), VOLATILE	:: pHWND	
				!DEC$ ATTRIBUTES REFERENCE	:: pHWND
				INTEGER, INTENT(IN)	:: swfwOptions	
				!DEC$ ATTRIBUTES REFERENCE	:: swfwOptions
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', pvarloc, .FALSE.)
				CALL AUTOADDARG(invokeargs, '$ARG2', pvarlocRoot, .FALSE.)
				CALL AUTOADDARG(invokeargs, '$ARG3', swClass)
				CALL AUTOADDARG(invokeargs, '$ARG4', pHWND, .TRUE.)
				CALL AUTOADDARG(invokeargs, '$ARG5', swfwOptions)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743816, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellWindows_FindWindow = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellWindows_FindWindow
			!Get count of open Shell windows
  			INTEGER*4 FUNCTION IShellWindows_GetCount($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows_GetCount
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Count', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1610743808, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellWindows_GetCount = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellWindows_GetCount
			!Return the shell window for the given index
  			INTEGER*4 FUNCTION IShellWindows_Item($OBJECT, index, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows_Item
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: index	
				!DEC$ ATTRIBUTES REFERENCE	:: index
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE., VT_DISPATCH)
				IF (PRESENT(index)) CALL AUTOADDARG(invokeargs, '$ARG1', index, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IShellWindows_Item = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IShellWindows_Item
			!Notifies the activation
  			SUBROUTINE IShellWindows_OnActivated($OBJECT, lCookie, fActive, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows_OnActivated
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: lCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: lCookie
				LOGICAL*2, INTENT(IN)	:: fActive	
				!DEC$ ATTRIBUTES REFERENCE	:: fActive
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', lCookie)
				CALL AUTOADDARG(invokeargs, '$ARG2', fActive)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743815, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellWindows_OnActivated
			!Notifies on creation and frame name set
  			SUBROUTINE IShellWindows_OnCreated($OBJECT, lCookie, punk, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows_OnCreated
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: lCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: lCookie
				INTEGER*4, INTENT(IN)	:: punk	! IUnknown
				!DEC$ ATTRIBUTES REFERENCE	:: punk
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', lCookie)
				CALL AUTOADDARG(invokeargs, '$ARG2', punk, .FALSE., VT_UNKNOWN)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743817, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellWindows_OnCreated
			!Notifies the new location
  			SUBROUTINE IShellWindows_OnNavigate($OBJECT, lCookie, pvarloc, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows_OnNavigate
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: lCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: lCookie
				TYPE (VARIANT), INTENT(IN)	:: pvarloc	
				!DEC$ ATTRIBUTES REFERENCE	:: pvarloc
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', lCookie)
				CALL AUTOADDARG(invokeargs, '$ARG2', pvarloc, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743814, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellWindows_OnNavigate
			!Used by IExplore to register different processes
  			SUBROUTINE IShellWindows_ProcessAttachDetach($OBJECT, fAttach, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows_ProcessAttachDetach
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: fAttach	
				!DEC$ ATTRIBUTES REFERENCE	:: fAttach
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', fAttach)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743818, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellWindows_ProcessAttachDetach
			!Register a window with the list
  			SUBROUTINE IShellWindows_Register($OBJECT, pid, HWND, swClass, plCookie, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows_Register
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: pid	! IDispatch
				!DEC$ ATTRIBUTES REFERENCE	:: pid
				INTEGER*4, INTENT(IN)	:: HWND	
				!DEC$ ATTRIBUTES REFERENCE	:: HWND
				INTEGER, INTENT(IN)	:: swClass	
				!DEC$ ATTRIBUTES REFERENCE	:: swClass
				INTEGER*4, INTENT(OUT), VOLATILE	:: plCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: plCookie
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', pid, .FALSE., VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG2', HWND)
				CALL AUTOADDARG(invokeargs, '$ARG3', swClass)
				CALL AUTOADDARG(invokeargs, '$ARG4', plCookie, .TRUE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743811, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellWindows_Register
			!Register a pending open with the list
  			SUBROUTINE IShellWindows_RegisterPending($OBJECT, lThreadId, pvarloc, pvarlocRoot, swClass, plCookie, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows_RegisterPending
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: lThreadId	
				!DEC$ ATTRIBUTES REFERENCE	:: lThreadId
				TYPE (VARIANT), INTENT(IN)	:: pvarloc	
				!DEC$ ATTRIBUTES REFERENCE	:: pvarloc
				TYPE (VARIANT), INTENT(IN)	:: pvarlocRoot	
				!DEC$ ATTRIBUTES REFERENCE	:: pvarlocRoot
				INTEGER, INTENT(IN)	:: swClass	
				!DEC$ ATTRIBUTES REFERENCE	:: swClass
				INTEGER*4, INTENT(OUT), VOLATILE	:: plCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: plCookie
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', lThreadId)
				CALL AUTOADDARG(invokeargs, '$ARG2', pvarloc, .FALSE.)
				CALL AUTOADDARG(invokeargs, '$ARG3', pvarlocRoot, .FALSE.)
				CALL AUTOADDARG(invokeargs, '$ARG4', swClass)
				CALL AUTOADDARG(invokeargs, '$ARG5', plCookie, .TRUE.)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743812, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellWindows_RegisterPending
			!Remove a window from the list
  			SUBROUTINE IShellWindows_Revoke($OBJECT, lCookie, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IShellWindows_Revoke
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: lCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: lCookie
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', lCookie)
				$$STATUS = AUTOINVOKE($OBJECT, 1610743813, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IShellWindows_Revoke
			!Returns the application automation object if accessible, this automation object otherwise..
  			INTEGER*4 FUNCTION IWebBrowser_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetApplication
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 200, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetApplication
			!Query to see if something is still in progress.
  			LOGICAL*2 FUNCTION IWebBrowser_GetBusy($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetBusy
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Busy', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 212, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetBusy = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetBusy
			!Returns the container/parent automation object, if any.
  			INTEGER*4 FUNCTION IWebBrowser_GetContainer($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetContainer
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Container', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 202, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetContainer = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetContainer
			!Returns the active Document automation object, if any.
  			INTEGER*4 FUNCTION IWebBrowser_GetDocument($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetDocument
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Document', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 203, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetDocument = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetDocument
			!The vertical dimension (pixels) of the frame window/object.
  			INTEGER*4 FUNCTION IWebBrowser_GetHeight($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetHeight
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Height', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 209, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetHeight = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetHeight
			!The horizontal position (pixels) of the frame window relative to the screen/container.
  			INTEGER*4 FUNCTION IWebBrowser_GetLeft($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetLeft
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Left', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 206, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetLeft = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetLeft
			!Gets the short (UI-friendly) name of the URL/file currently viewed.
  			CHARACTER*(2048) FUNCTION IWebBrowser_GetLocationName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetLocationName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'LocationName', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 210, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetLocationName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetLocationName
			!Gets the full URL/path currently viewed.
  			CHARACTER*(2048) FUNCTION IWebBrowser_GetLocationURL($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetLocationURL
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'LocationURL', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 211, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetLocationURL = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetLocationURL
			!Returns the automation object of the container/parent if one exists or this automation object.
  			INTEGER*4 FUNCTION IWebBrowser_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetParent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 201, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetParent
			!The vertical position (pixels) of the frame window relative to the screen/container.
  			INTEGER*4 FUNCTION IWebBrowser_GetTop($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetTop
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Top', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 207, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetTop = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetTop
			!Returns True if this is the top level object.
  			LOGICAL*2 FUNCTION IWebBrowser_GetTopLevelContainer($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetTopLevelContainer
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'TopLevelContainer', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 204, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetTopLevelContainer = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetTopLevelContainer
			!Returns the type of the contained document object.
  			CHARACTER*(2048) FUNCTION IWebBrowser_GetType($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetType
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Type', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 205, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetType = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetType
			!The horizontal dimension (pixels) of the frame window/object.
  			INTEGER*4 FUNCTION IWebBrowser_GetWidth($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GetWidth
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Width', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 208, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser_GetWidth = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser_GetWidth
			!Navigates to the previous item in the history list.
  			SUBROUTINE IWebBrowser_GoBack($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GoBack
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 100, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_GoBack
			!Navigates to the next item in the history list.
  			SUBROUTINE IWebBrowser_GoForward($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GoForward
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 101, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_GoForward
			!Go home/start page.
  			SUBROUTINE IWebBrowser_GoHome($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GoHome
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 102, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_GoHome
			!Go Search Page.
  			SUBROUTINE IWebBrowser_GoSearch($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_GoSearch
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 103, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_GoSearch
			!Navigates to a URL or file.
  			SUBROUTINE IWebBrowser_Navigate($OBJECT, URL, Flags, TargetFrameName, PostData, Headers, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_Navigate
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: URL
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Flags	
				!DEC$ ATTRIBUTES REFERENCE	:: Flags
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: TargetFrameName	
				!DEC$ ATTRIBUTES REFERENCE	:: TargetFrameName
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: PostData	
				!DEC$ ATTRIBUTES REFERENCE	:: PostData
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Headers	
				!DEC$ ATTRIBUTES REFERENCE	:: Headers
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', URL, .FALSE., VT_BSTR)
				IF (PRESENT(Flags)) CALL AUTOADDARG(invokeargs, '$ARG2', Flags, .FALSE.)
				IF (PRESENT(TargetFrameName)) CALL AUTOADDARG(invokeargs, '$ARG3', TargetFrameName, .FALSE.)
				IF (PRESENT(PostData)) CALL AUTOADDARG(invokeargs, '$ARG4', PostData, .FALSE.)
				IF (PRESENT(Headers)) CALL AUTOADDARG(invokeargs, '$ARG5', Headers, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 104, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_Navigate
			!Refresh the currently viewed page.
  			SUBROUTINE IWebBrowser_Refresh($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_Refresh
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, -550, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_Refresh
			!Refresh the currently viewed page.
  			SUBROUTINE IWebBrowser_Refresh2($OBJECT, Level, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_Refresh2
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Level	
				!DEC$ ATTRIBUTES REFERENCE	:: Level
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Level)) CALL AUTOADDARG(invokeargs, '$ARG1', Level, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 105, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_Refresh2
			!The vertical dimension (pixels) of the frame window/object.
  			SUBROUTINE IWebBrowser_SetHeight($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_SetHeight
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Height', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 209, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_SetHeight
			!The horizontal position (pixels) of the frame window relative to the screen/container.
  			SUBROUTINE IWebBrowser_SetLeft($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_SetLeft
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Left', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 206, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_SetLeft
			!The vertical position (pixels) of the frame window relative to the screen/container.
  			SUBROUTINE IWebBrowser_SetTop($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_SetTop
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Top', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 207, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_SetTop
			!The horizontal dimension (pixels) of the frame window/object.
  			SUBROUTINE IWebBrowser_SetWidth($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_SetWidth
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Width', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 208, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_SetWidth
			!Stops opening a file.
  			SUBROUTINE IWebBrowser_Stop($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser_Stop
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 106, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser_Stop
			!Converts client sizes into window sizes.
  			SUBROUTINE IWebBrowser2_ClientToWindow($OBJECT, pcx, pcy, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_ClientToWindow
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER, INTENT(INOUT), VOLATILE	:: pcx	
				!DEC$ ATTRIBUTES REFERENCE	:: pcx
				INTEGER, INTENT(INOUT), VOLATILE	:: pcy	
				!DEC$ ATTRIBUTES REFERENCE	:: pcy
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', pcx)
				CALL AUTOADDARG(invokeargs, '$ARG2', pcy)
				$$STATUS = AUTOINVOKE($OBJECT, 301, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_ClientToWindow
			!IOleCommandTarget::Exec
  			SUBROUTINE IWebBrowser2_ExecWB($OBJECT, cmdID, cmdexecopt, pvaIn, pvaOut, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_ExecWB
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: cmdID	! Void
				!DEC$ ATTRIBUTES REFERENCE	:: cmdID
				INTEGER*4, INTENT(IN)	:: cmdexecopt	! Void
				!DEC$ ATTRIBUTES REFERENCE	:: cmdexecopt
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: pvaIn	
				!DEC$ ATTRIBUTES REFERENCE	:: pvaIn
				TYPE (VARIANT), INTENT(INOUT), OPTIONAL, VOLATILE	:: pvaOut	
				!DEC$ ATTRIBUTES REFERENCE	:: pvaOut
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', cmdID)
				CALL AUTOADDARG(invokeargs, '$ARG2', cmdexecopt)
				IF (PRESENT(pvaIn)) CALL AUTOADDARG(invokeargs, '$ARG3', pvaIn, .FALSE.)
				IF (PRESENT(pvaOut)) CALL AUTOADDARG(invokeargs, '$ARG4', pvaOut, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 502, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_ExecWB
			!Controls whether address bar is shown
  			LOGICAL*2 FUNCTION IWebBrowser2_GetAddressBar($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetAddressBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'AddressBar', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 555, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetAddressBar = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetAddressBar
			!Returns the application automation object if accessible, this automation object otherwise..
  			INTEGER*4 FUNCTION IWebBrowser2_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetApplication
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 200, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetApplication
			!Query to see if something is still in progress.
  			LOGICAL*2 FUNCTION IWebBrowser2_GetBusy($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetBusy
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Busy', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 212, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetBusy = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetBusy
			!Returns the container/parent automation object, if any.
  			INTEGER*4 FUNCTION IWebBrowser2_GetContainer($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetContainer
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Container', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 202, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetContainer = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetContainer
			!Returns the active Document automation object, if any.
  			INTEGER*4 FUNCTION IWebBrowser2_GetDocument($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetDocument
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Document', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 203, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetDocument = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetDocument
			!Returns file specification of the application, including path.
  			CHARACTER*(2048) FUNCTION IWebBrowser2_GetFullName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetFullName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'FullName', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 400, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetFullName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetFullName
			!Maximizes window and turns off statusbar, toolbar, menubar, and titlebar.
  			LOGICAL*2 FUNCTION IWebBrowser2_GetFullScreen($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetFullScreen
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'FullScreen', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 407, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetFullScreen = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetFullScreen
			!The vertical dimension (pixels) of the frame window/object.
  			INTEGER*4 FUNCTION IWebBrowser2_GetHeight($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetHeight
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Height', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 209, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetHeight = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetHeight
			!Returns the HWND of the current IE window.
  			INTEGER*4 FUNCTION IWebBrowser2_GetHWND($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetHWND
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'HWND', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, -515, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetHWND = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetHWND
			!The horizontal position (pixels) of the frame window relative to the screen/container.
  			INTEGER*4 FUNCTION IWebBrowser2_GetLeft($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetLeft
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Left', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 206, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetLeft = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetLeft
			!Gets the short (UI-friendly) name of the URL/file currently viewed.
  			CHARACTER*(2048) FUNCTION IWebBrowser2_GetLocationName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetLocationName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'LocationName', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 210, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetLocationName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetLocationName
			!Gets the full URL/path currently viewed.
  			CHARACTER*(2048) FUNCTION IWebBrowser2_GetLocationURL($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetLocationURL
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'LocationURL', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 211, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetLocationURL = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetLocationURL
			!Controls whether menubar is shown.
  			LOGICAL*2 FUNCTION IWebBrowser2_GetMenuBar($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetMenuBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'MenuBar', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 406, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetMenuBar = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetMenuBar
			!Returns name of the application.
  			CHARACTER*(2048) FUNCTION IWebBrowser2_GetName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Name', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetName
			!Controls if the frame is offline (read from cache)
  			LOGICAL*2 FUNCTION IWebBrowser2_GetOffline($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetOffline
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Offline', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 550, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetOffline = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetOffline
			!Returns the automation object of the container/parent if one exists or this automation object.
  			INTEGER*4 FUNCTION IWebBrowser2_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetParent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 201, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetParent
			!Returns the path to the application.
  			CHARACTER*(2048) FUNCTION IWebBrowser2_GetPath($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetPath
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Path', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 401, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetPath = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetPath
			!Retrieve the Associated value for the property vtValue in the context of the object.
  			FUNCTION IWebBrowser2_GetProperty($OBJECT, Property, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetProperty
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: Property	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: Property
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				TYPE (VARIANT), VOLATILE :: $RETURN
				TYPE (VARIANT) IWebBrowser2_GetProperty
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE.)
				CALL AUTOADDARG(invokeargs, '$ARG1', Property, .FALSE., VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 303, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetProperty = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetProperty
  			INTEGER*4 FUNCTION IWebBrowser2_GetReadyState($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetReadyState
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ReadyState', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, -525, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetReadyState = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetReadyState
			!Registers OC as a top-level browser (for target name resolution)
  			LOGICAL*2 FUNCTION IWebBrowser2_GetRegisterAsBrowser($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetRegisterAsBrowser
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'RegisterAsBrowser', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 552, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetRegisterAsBrowser = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetRegisterAsBrowser
			!Registers OC as a drop target for navigation
  			LOGICAL*2 FUNCTION IWebBrowser2_GetRegisterAsDropTarget($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetRegisterAsDropTarget
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'RegisterAsDropTarget', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 553, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetRegisterAsDropTarget = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetRegisterAsDropTarget
			!Controls whether the window is resizable
  			LOGICAL*2 FUNCTION IWebBrowser2_GetResizable($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetResizable
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Resizable', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 556, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetResizable = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetResizable
			!Controls if any dialog boxes can be shown
  			LOGICAL*2 FUNCTION IWebBrowser2_GetSilent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetSilent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Silent', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 551, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetSilent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetSilent
			!Turn on or off the statusbar.
  			LOGICAL*2 FUNCTION IWebBrowser2_GetStatusBar($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetStatusBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'StatusBar', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 403, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetStatusBar = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetStatusBar
			!Text of Status window.
  			CHARACTER*(2048) FUNCTION IWebBrowser2_GetStatusText($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetStatusText
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'StatusText', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 404, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetStatusText = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetStatusText
			!Controls if the browser is in theater mode
  			LOGICAL*2 FUNCTION IWebBrowser2_GetTheaterMode($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetTheaterMode
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'TheaterMode', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 554, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetTheaterMode = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetTheaterMode
			!Controls which toolbar is shown.
  			INTEGER FUNCTION IWebBrowser2_GetToolBar($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetToolBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ToolBar', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 405, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetToolBar = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetToolBar
			!The vertical position (pixels) of the frame window relative to the screen/container.
  			INTEGER*4 FUNCTION IWebBrowser2_GetTop($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetTop
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Top', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 207, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetTop = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetTop
			!Returns True if this is the top level object.
  			LOGICAL*2 FUNCTION IWebBrowser2_GetTopLevelContainer($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetTopLevelContainer
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'TopLevelContainer', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 204, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetTopLevelContainer = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetTopLevelContainer
			!Returns the type of the contained document object.
  			CHARACTER*(2048) FUNCTION IWebBrowser2_GetType($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetType
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Type', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 205, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetType = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetType
			!Determines whether the application is visible or hidden.
  			LOGICAL*2 FUNCTION IWebBrowser2_GetVisible($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetVisible
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Visible', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 402, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetVisible = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetVisible
			!The horizontal dimension (pixels) of the frame window/object.
  			INTEGER*4 FUNCTION IWebBrowser2_GetWidth($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GetWidth
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Width', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 208, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_GetWidth = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_GetWidth
			!Navigates to the previous item in the history list.
  			SUBROUTINE IWebBrowser2_GoBack($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GoBack
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 100, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_GoBack
			!Navigates to the next item in the history list.
  			SUBROUTINE IWebBrowser2_GoForward($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GoForward
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 101, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_GoForward
			!Go home/start page.
  			SUBROUTINE IWebBrowser2_GoHome($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GoHome
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 102, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_GoHome
			!Go Search Page.
  			SUBROUTINE IWebBrowser2_GoSearch($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_GoSearch
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 103, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_GoSearch
			!Navigates to a URL or file.
  			SUBROUTINE IWebBrowser2_Navigate($OBJECT, URL, Flags, TargetFrameName, PostData, Headers, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_Navigate
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: URL
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Flags	
				!DEC$ ATTRIBUTES REFERENCE	:: Flags
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: TargetFrameName	
				!DEC$ ATTRIBUTES REFERENCE	:: TargetFrameName
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: PostData	
				!DEC$ ATTRIBUTES REFERENCE	:: PostData
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Headers	
				!DEC$ ATTRIBUTES REFERENCE	:: Headers
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', URL, .FALSE., VT_BSTR)
				IF (PRESENT(Flags)) CALL AUTOADDARG(invokeargs, '$ARG2', Flags, .FALSE.)
				IF (PRESENT(TargetFrameName)) CALL AUTOADDARG(invokeargs, '$ARG3', TargetFrameName, .FALSE.)
				IF (PRESENT(PostData)) CALL AUTOADDARG(invokeargs, '$ARG4', PostData, .FALSE.)
				IF (PRESENT(Headers)) CALL AUTOADDARG(invokeargs, '$ARG5', Headers, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 104, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_Navigate
			!Navigates to a URL or file or pidl.
  			SUBROUTINE IWebBrowser2_Navigate2($OBJECT, URL, Flags, TargetFrameName, PostData, Headers, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_Navigate2
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: URL	
				!DEC$ ATTRIBUTES REFERENCE	:: URL
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Flags	
				!DEC$ ATTRIBUTES REFERENCE	:: Flags
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: TargetFrameName	
				!DEC$ ATTRIBUTES REFERENCE	:: TargetFrameName
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: PostData	
				!DEC$ ATTRIBUTES REFERENCE	:: PostData
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Headers	
				!DEC$ ATTRIBUTES REFERENCE	:: Headers
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', URL, .FALSE.)
				IF (PRESENT(Flags)) CALL AUTOADDARG(invokeargs, '$ARG2', Flags, .FALSE.)
				IF (PRESENT(TargetFrameName)) CALL AUTOADDARG(invokeargs, '$ARG3', TargetFrameName, .FALSE.)
				IF (PRESENT(PostData)) CALL AUTOADDARG(invokeargs, '$ARG4', PostData, .FALSE.)
				IF (PRESENT(Headers)) CALL AUTOADDARG(invokeargs, '$ARG5', Headers, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 500, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_Navigate2
			!Associates vtValue with the name szProperty in the context of the object.
  			SUBROUTINE IWebBrowser2_PutProperty($OBJECT, Property, vtValue, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_PutProperty
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: Property	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: Property
				TYPE (VARIANT), INTENT(IN)	:: vtValue	
				!DEC$ ATTRIBUTES REFERENCE	:: vtValue
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', Property, .FALSE., VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG2', vtValue, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 302, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_PutProperty
			!IOleCommandTarget::QueryStatus
  			INTEGER*4 FUNCTION IWebBrowser2_QueryStatusWB($OBJECT, cmdID, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_QueryStatusWB
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: cmdID	! Void
				!DEC$ ATTRIBUTES REFERENCE	:: cmdID
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				CALL AUTOADDARG(invokeargs, '$ARG1', cmdID)
				$$STATUS = AUTOINVOKE($OBJECT, 501, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowser2_QueryStatusWB = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowser2_QueryStatusWB
			!Exits application and closes the open document.
  			SUBROUTINE IWebBrowser2_Quit($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_Quit
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 300, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_Quit
			!Refresh the currently viewed page.
  			SUBROUTINE IWebBrowser2_Refresh($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_Refresh
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, -550, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_Refresh
			!Refresh the currently viewed page.
  			SUBROUTINE IWebBrowser2_Refresh2($OBJECT, Level, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_Refresh2
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Level	
				!DEC$ ATTRIBUTES REFERENCE	:: Level
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Level)) CALL AUTOADDARG(invokeargs, '$ARG1', Level, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 105, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_Refresh2
			!Controls whether address bar is shown
  			SUBROUTINE IWebBrowser2_SetAddressBar($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetAddressBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'AddressBar', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 555, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetAddressBar
			!Maximizes window and turns off statusbar, toolbar, menubar, and titlebar.
  			SUBROUTINE IWebBrowser2_SetFullScreen($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetFullScreen
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'FullScreen', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 407, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetFullScreen
			!The vertical dimension (pixels) of the frame window/object.
  			SUBROUTINE IWebBrowser2_SetHeight($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetHeight
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Height', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 209, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetHeight
			!The horizontal position (pixels) of the frame window relative to the screen/container.
  			SUBROUTINE IWebBrowser2_SetLeft($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetLeft
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Left', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 206, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetLeft
			!Controls whether menubar is shown.
  			SUBROUTINE IWebBrowser2_SetMenuBar($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetMenuBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'MenuBar', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 406, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetMenuBar
			!Controls if the frame is offline (read from cache)
  			SUBROUTINE IWebBrowser2_SetOffline($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetOffline
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Offline', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 550, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetOffline
			!Registers OC as a top-level browser (for target name resolution)
  			SUBROUTINE IWebBrowser2_SetRegisterAsBrowser($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetRegisterAsBrowser
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'RegisterAsBrowser', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 552, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetRegisterAsBrowser
			!Registers OC as a drop target for navigation
  			SUBROUTINE IWebBrowser2_SetRegisterAsDropTarget($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetRegisterAsDropTarget
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'RegisterAsDropTarget', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 553, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetRegisterAsDropTarget
			!Controls whether the window is resizable
  			SUBROUTINE IWebBrowser2_SetResizable($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetResizable
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Resizable', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 556, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetResizable
			!Controls if any dialog boxes can be shown
  			SUBROUTINE IWebBrowser2_SetSilent($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetSilent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Silent', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 551, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetSilent
			!Turn on or off the statusbar.
  			SUBROUTINE IWebBrowser2_SetStatusBar($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetStatusBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'StatusBar', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 403, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetStatusBar
			!Text of Status window.
  			SUBROUTINE IWebBrowser2_SetStatusText($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetStatusText
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: $ARG1	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'StatusText', $ARG1, .FALSE., VT_BSTR)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 404, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetStatusText
			!Controls if the browser is in theater mode
  			SUBROUTINE IWebBrowser2_SetTheaterMode($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetTheaterMode
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'TheaterMode', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 554, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetTheaterMode
			!Controls which toolbar is shown.
  			SUBROUTINE IWebBrowser2_SetToolBar($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetToolBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ToolBar', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 405, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetToolBar
			!The vertical position (pixels) of the frame window relative to the screen/container.
  			SUBROUTINE IWebBrowser2_SetTop($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetTop
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Top', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 207, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetTop
			!Determines whether the application is visible or hidden.
  			SUBROUTINE IWebBrowser2_SetVisible($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetVisible
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Visible', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 402, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetVisible
			!The horizontal dimension (pixels) of the frame window/object.
  			SUBROUTINE IWebBrowser2_SetWidth($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_SetWidth
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Width', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 208, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_SetWidth
			!Set BrowserBar to Clsid
  			SUBROUTINE IWebBrowser2_ShowBrowserBar($OBJECT, pvaClsid, pvarShow, pvarSize, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_ShowBrowserBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: pvaClsid	
				!DEC$ ATTRIBUTES REFERENCE	:: pvaClsid
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: pvarShow	
				!DEC$ ATTRIBUTES REFERENCE	:: pvarShow
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: pvarSize	
				!DEC$ ATTRIBUTES REFERENCE	:: pvarSize
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', pvaClsid, .FALSE.)
				IF (PRESENT(pvarShow)) CALL AUTOADDARG(invokeargs, '$ARG2', pvarShow, .FALSE.)
				IF (PRESENT(pvarSize)) CALL AUTOADDARG(invokeargs, '$ARG3', pvarSize, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 503, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_ShowBrowserBar
			!Stops opening a file.
  			SUBROUTINE IWebBrowser2_Stop($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowser2_Stop
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 106, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowser2_Stop
			!Converts client sizes into window sizes.
  			SUBROUTINE IWebBrowserApp_ClientToWindow($OBJECT, pcx, pcy, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_ClientToWindow
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER, INTENT(INOUT), VOLATILE	:: pcx	
				!DEC$ ATTRIBUTES REFERENCE	:: pcx
				INTEGER, INTENT(INOUT), VOLATILE	:: pcy	
				!DEC$ ATTRIBUTES REFERENCE	:: pcy
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', pcx)
				CALL AUTOADDARG(invokeargs, '$ARG2', pcy)
				$$STATUS = AUTOINVOKE($OBJECT, 301, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_ClientToWindow
			!Returns the application automation object if accessible, this automation object otherwise..
  			INTEGER*4 FUNCTION IWebBrowserApp_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetApplication
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 200, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetApplication
			!Query to see if something is still in progress.
  			LOGICAL*2 FUNCTION IWebBrowserApp_GetBusy($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetBusy
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Busy', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 212, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetBusy = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetBusy
			!Returns the container/parent automation object, if any.
  			INTEGER*4 FUNCTION IWebBrowserApp_GetContainer($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetContainer
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Container', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 202, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetContainer = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetContainer
			!Returns the active Document automation object, if any.
  			INTEGER*4 FUNCTION IWebBrowserApp_GetDocument($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetDocument
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Document', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 203, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetDocument = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetDocument
			!Returns file specification of the application, including path.
  			CHARACTER*(2048) FUNCTION IWebBrowserApp_GetFullName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetFullName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'FullName', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 400, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetFullName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetFullName
			!Maximizes window and turns off statusbar, toolbar, menubar, and titlebar.
  			LOGICAL*2 FUNCTION IWebBrowserApp_GetFullScreen($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetFullScreen
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'FullScreen', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 407, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetFullScreen = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetFullScreen
			!The vertical dimension (pixels) of the frame window/object.
  			INTEGER*4 FUNCTION IWebBrowserApp_GetHeight($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetHeight
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Height', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 209, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetHeight = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetHeight
			!Returns the HWND of the current IE window.
  			INTEGER*4 FUNCTION IWebBrowserApp_GetHWND($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetHWND
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'HWND', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, -515, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetHWND = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetHWND
			!The horizontal position (pixels) of the frame window relative to the screen/container.
  			INTEGER*4 FUNCTION IWebBrowserApp_GetLeft($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetLeft
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Left', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 206, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetLeft = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetLeft
			!Gets the short (UI-friendly) name of the URL/file currently viewed.
  			CHARACTER*(2048) FUNCTION IWebBrowserApp_GetLocationName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetLocationName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'LocationName', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 210, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetLocationName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetLocationName
			!Gets the full URL/path currently viewed.
  			CHARACTER*(2048) FUNCTION IWebBrowserApp_GetLocationURL($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetLocationURL
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'LocationURL', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 211, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetLocationURL = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetLocationURL
			!Controls whether menubar is shown.
  			LOGICAL*2 FUNCTION IWebBrowserApp_GetMenuBar($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetMenuBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'MenuBar', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 406, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetMenuBar = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetMenuBar
			!Returns name of the application.
  			CHARACTER*(2048) FUNCTION IWebBrowserApp_GetName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetName
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Name', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetName
			!Returns the automation object of the container/parent if one exists or this automation object.
  			INTEGER*4 FUNCTION IWebBrowserApp_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetParent
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, .TRUE., VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 201, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetParent
			!Returns the path to the application.
  			CHARACTER*(2048) FUNCTION IWebBrowserApp_GetPath($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetPath
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Path', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 401, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetPath = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetPath
			!Retrieve the Associated value for the property vtValue in the context of the object.
  			FUNCTION IWebBrowserApp_GetProperty($OBJECT, Property, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetProperty
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: Property	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: Property
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				TYPE (VARIANT), VOLATILE :: $RETURN
				TYPE (VARIANT) IWebBrowserApp_GetProperty
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, .TRUE.)
				CALL AUTOADDARG(invokeargs, '$ARG1', Property, .FALSE., VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 303, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetProperty = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetProperty
			!Turn on or off the statusbar.
  			LOGICAL*2 FUNCTION IWebBrowserApp_GetStatusBar($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetStatusBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'StatusBar', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 403, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetStatusBar = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetStatusBar
			!Text of Status window.
  			CHARACTER*(2048) FUNCTION IWebBrowserApp_GetStatusText($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetStatusText
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'StatusText', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 404, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetStatusText = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetStatusText
			!Controls which toolbar is shown.
  			INTEGER FUNCTION IWebBrowserApp_GetToolBar($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetToolBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ToolBar', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 405, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetToolBar = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetToolBar
			!The vertical position (pixels) of the frame window relative to the screen/container.
  			INTEGER*4 FUNCTION IWebBrowserApp_GetTop($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetTop
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Top', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 207, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetTop = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetTop
			!Returns True if this is the top level object.
  			LOGICAL*2 FUNCTION IWebBrowserApp_GetTopLevelContainer($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetTopLevelContainer
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'TopLevelContainer', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 204, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetTopLevelContainer = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetTopLevelContainer
			!Returns the type of the contained document object.
  			CHARACTER*(2048) FUNCTION IWebBrowserApp_GetType($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetType
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Type', $RETURN, .TRUE., VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 205, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetType = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetType
			!Determines whether the application is visible or hidden.
  			LOGICAL*2 FUNCTION IWebBrowserApp_GetVisible($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetVisible
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Visible', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 402, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetVisible = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetVisible
			!The horizontal dimension (pixels) of the frame window/object.
  			INTEGER*4 FUNCTION IWebBrowserApp_GetWidth($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GetWidth
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Width', $RETURN, .TRUE.)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 208, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWebBrowserApp_GetWidth = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWebBrowserApp_GetWidth
			!Navigates to the previous item in the history list.
  			SUBROUTINE IWebBrowserApp_GoBack($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GoBack
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 100, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_GoBack
			!Navigates to the next item in the history list.
  			SUBROUTINE IWebBrowserApp_GoForward($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GoForward
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 101, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_GoForward
			!Go home/start page.
  			SUBROUTINE IWebBrowserApp_GoHome($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GoHome
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 102, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_GoHome
			!Go Search Page.
  			SUBROUTINE IWebBrowserApp_GoSearch($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_GoSearch
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 103, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_GoSearch
			!Navigates to a URL or file.
  			SUBROUTINE IWebBrowserApp_Navigate($OBJECT, URL, Flags, TargetFrameName, PostData, Headers, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_Navigate
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: URL	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: URL
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Flags	
				!DEC$ ATTRIBUTES REFERENCE	:: Flags
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: TargetFrameName	
				!DEC$ ATTRIBUTES REFERENCE	:: TargetFrameName
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: PostData	
				!DEC$ ATTRIBUTES REFERENCE	:: PostData
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Headers	
				!DEC$ ATTRIBUTES REFERENCE	:: Headers
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', URL, .FALSE., VT_BSTR)
				IF (PRESENT(Flags)) CALL AUTOADDARG(invokeargs, '$ARG2', Flags, .FALSE.)
				IF (PRESENT(TargetFrameName)) CALL AUTOADDARG(invokeargs, '$ARG3', TargetFrameName, .FALSE.)
				IF (PRESENT(PostData)) CALL AUTOADDARG(invokeargs, '$ARG4', PostData, .FALSE.)
				IF (PRESENT(Headers)) CALL AUTOADDARG(invokeargs, '$ARG5', Headers, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 104, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_Navigate
			!Associates vtValue with the name szProperty in the context of the object.
  			SUBROUTINE IWebBrowserApp_PutProperty($OBJECT, Property, vtValue, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_PutProperty
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: Property	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: Property
				TYPE (VARIANT), INTENT(IN)	:: vtValue	
				!DEC$ ATTRIBUTES REFERENCE	:: vtValue
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', Property, .FALSE., VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG2', vtValue, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 302, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_PutProperty
			!Exits application and closes the open document.
  			SUBROUTINE IWebBrowserApp_Quit($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_Quit
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 300, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_Quit
			!Refresh the currently viewed page.
  			SUBROUTINE IWebBrowserApp_Refresh($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_Refresh
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, -550, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_Refresh
			!Refresh the currently viewed page.
  			SUBROUTINE IWebBrowserApp_Refresh2($OBJECT, Level, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_Refresh2
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Level	
				!DEC$ ATTRIBUTES REFERENCE	:: Level
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Level)) CALL AUTOADDARG(invokeargs, '$ARG1', Level, .FALSE.)
				$$STATUS = AUTOINVOKE($OBJECT, 105, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_Refresh2
			!Maximizes window and turns off statusbar, toolbar, menubar, and titlebar.
  			SUBROUTINE IWebBrowserApp_SetFullScreen($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_SetFullScreen
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'FullScreen', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 407, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_SetFullScreen
			!The vertical dimension (pixels) of the frame window/object.
  			SUBROUTINE IWebBrowserApp_SetHeight($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_SetHeight
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Height', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 209, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_SetHeight
			!The horizontal position (pixels) of the frame window relative to the screen/container.
  			SUBROUTINE IWebBrowserApp_SetLeft($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_SetLeft
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Left', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 206, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_SetLeft
			!Controls whether menubar is shown.
  			SUBROUTINE IWebBrowserApp_SetMenuBar($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_SetMenuBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'MenuBar', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 406, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_SetMenuBar
			!Turn on or off the statusbar.
  			SUBROUTINE IWebBrowserApp_SetStatusBar($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_SetStatusBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'StatusBar', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 403, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_SetStatusBar
			!Text of Status window.
  			SUBROUTINE IWebBrowserApp_SetStatusText($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_SetStatusText
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: $ARG1	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'StatusText', $ARG1, .FALSE., VT_BSTR)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 404, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_SetStatusText
			!Controls which toolbar is shown.
  			SUBROUTINE IWebBrowserApp_SetToolBar($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_SetToolBar
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ToolBar', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 405, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_SetToolBar
			!The vertical position (pixels) of the frame window relative to the screen/container.
  			SUBROUTINE IWebBrowserApp_SetTop($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_SetTop
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Top', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 207, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_SetTop
			!Determines whether the application is visible or hidden.
  			SUBROUTINE IWebBrowserApp_SetVisible($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_SetVisible
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Visible', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 402, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_SetVisible
			!The horizontal dimension (pixels) of the frame window/object.
  			SUBROUTINE IWebBrowserApp_SetWidth($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_SetWidth
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: $ARG1	
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Width', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 208, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_SetWidth
			!Stops opening a file.
  			SUBROUTINE IWebBrowserApp_Stop($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWebBrowserApp_Stop
				IMPLICIT NONE
	
				INTEGER*4, INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER*4 invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 106, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWebBrowserApp_Stop
	END MODULE
