! DSAPPA.f90

! This module contains the Automation interfaces of the objects defined in 
! D:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\devshl.dll
! Generated by the Fortran Module Wizard on xx/xx/xx

	MODULE DSAPPA
		USE DFWINTY
		USE DFAUTO
		IMPLICIT NONE
	

		! CLSIDs		
		TYPE (GUID), PARAMETER :: CLSID_Application = &
			GUID(#FB7FDAE2, #89B8, #11CF, &
			  CHAR('9B'X)//CHAR('E8'X)//CHAR('00'X)//CHAR('A0'X)// &
			  CHAR('C9'X)//CHAR('0A'X)//CHAR('63'X)//CHAR('2C'X))

		! IIDs		
		TYPE (GUID), PARAMETER :: IID_IApplicationEvents = &
			GUID(#8EA3F900, #4A9F, #11CF, &
			  CHAR('8E'X)//CHAR('4E'X)//CHAR('00'X)//CHAR('AA'X)// &
			  CHAR('00'X)//CHAR('42'X)//CHAR('54'X)//CHAR('C4'X))
		TYPE (GUID), PARAMETER :: IID_IDispApplicationEvents = &
			GUID(#AE166B02, #A9A0, #11CF, &
			  CHAR('AD'X)//CHAR('07'X)//CHAR('00'X)//CHAR('A0'X)// &
			  CHAR('C9'X)//CHAR('03'X)//CHAR('49'X)//CHAR('65'X))

		! Enums		
		! DsArrangeStyle (Passed to Windows.Arrange to arrange the windows.)
			INTEGER, PARAMETER ::	dsMinimize = 1	! Minimized windows.
			INTEGER, PARAMETER ::	dsTileHorizontal = 2	! Tiles the windows horizontally.
			INTEGER, PARAMETER ::	dsTileVertical = 3	! Tiles the windows vertically.
			INTEGER, PARAMETER ::	dsCascade = 4	! Cascades the windows.
		! DsButtonType (Represents the button type.)
			INTEGER, PARAMETER ::	dsGlyph = 1	! Button only has an image.
			INTEGER, PARAMETER ::	dsText = 2	! Buton only has text.
		! DsSaveChanges (Indicates what to do with changes when closing a file.)
			INTEGER, PARAMETER ::	dsSaveChangesYes = 1	! Save changes before closing.
			INTEGER, PARAMETER ::	dsSaveChangesNo = 2	! Discard changes before closing.
			INTEGER, PARAMETER ::	dsSaveChangesPrompt = 3	! Ask user if they want to save changes.
		! DsSaveStatus (Represents the result of a save operation.)
			INTEGER, PARAMETER ::	dsSaveSucceeded = 1	! The save operation succeeded.
			INTEGER, PARAMETER ::	dsSaveCanceled = 2	! The save operation was canceled by the user.
		! DsWindowState (Represents the possible states of a window.)
			INTEGER, PARAMETER ::	dsWindowStateMaximized = 1	! Window is mazimized.
			INTEGER, PARAMETER ::	dsWindowStateMinimized = 2	! Window is minimized.
			INTEGER, PARAMETER ::	dsWindowStateNormal = 3	! Window is neither mazimized or minimized.

		! Interfaces
		INTERFACE
			!Fired before the Developer Studio Applicaiton shuts down.
 			! MEMBERID = 3
 			SUBROUTINE IApplicationEvents_BeforeApplicationShutDown($OBJECT)
				INTEGER(KIND=INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_BeforeApplicationShutDown
			END SUBROUTINE IApplicationEvents_BeforeApplicationShutDown
		END INTERFACE
		INTERFACE
			!Fired before a build starts.
 			! MEMBERID = 1
 			SUBROUTINE IApplicationEvents_BeforeBuildStart($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_BeforeBuildStart
			END SUBROUTINE IApplicationEvents_BeforeBuildStart
		END INTERFACE
		INTERFACE
			!Fired before a document is closed.
 			! MEMBERID = 5
 			SUBROUTINE IApplicationEvents_BeforeDocumentClose($OBJECT, theDocument)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theDocument	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theDocument
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_BeforeDocumentClose
			END SUBROUTINE IApplicationEvents_BeforeDocumentClose
		END INTERFACE
		INTERFACE
			!Fired when a build finished.
 			! MEMBERID = 2
 			SUBROUTINE IApplicationEvents_BuildFinish($OBJECT, nNumErrors, nNumWarnings)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: nNumErrors	
				!DEC$ ATTRIBUTES VALUE	:: nNumErrors
				INTEGER*4, INTENT(IN)	:: nNumWarnings	
				!DEC$ ATTRIBUTES VALUE	:: nNumWarnings
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_BuildFinish
			END SUBROUTINE IApplicationEvents_BuildFinish
		END INTERFACE
		INTERFACE
			!Fired after a docuement is opened.
 			! MEMBERID = 4
 			SUBROUTINE IApplicationEvents_DocumentOpen($OBJECT, theDocument)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theDocument	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theDocument
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_DocumentOpen
			END SUBROUTINE IApplicationEvents_DocumentOpen
		END INTERFACE
		INTERFACE
			!Fired after a document has been saved.
 			! MEMBERID = 6
 			SUBROUTINE IApplicationEvents_DocumentSave($OBJECT, theDocument)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theDocument	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theDocument
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_DocumentSave
			END SUBROUTINE IApplicationEvents_DocumentSave
		END INTERFACE
		INTERFACE
			!Fired after a new document has been created.
 			! MEMBERID = 7
 			SUBROUTINE IApplicationEvents_NewDocument($OBJECT, theDocument)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theDocument	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theDocument
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_NewDocument
			END SUBROUTINE IApplicationEvents_NewDocument
		END INTERFACE
		INTERFACE
			!Fired when a new Workspace is created.
 			! MEMBERID = 12
 			SUBROUTINE IApplicationEvents_NewWorkspace($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_NewWorkspace
			END SUBROUTINE IApplicationEvents_NewWorkspace
		END INTERFACE
		INTERFACE
			!Fired after a window is activated.
 			! MEMBERID = 8
 			SUBROUTINE IApplicationEvents_WindowActivate($OBJECT, theWindow)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theWindow	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theWindow
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_WindowActivate
			END SUBROUTINE IApplicationEvents_WindowActivate
		END INTERFACE
		INTERFACE
			!Fired after a window is deactivated.
 			! MEMBERID = 9
 			SUBROUTINE IApplicationEvents_WindowDeactivate($OBJECT, theWindow)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theWindow	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theWindow
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_WindowDeactivate
			END SUBROUTINE IApplicationEvents_WindowDeactivate
		END INTERFACE
		INTERFACE
			!Fired when a Workspace is closed.
 			! MEMBERID = 11
 			SUBROUTINE IApplicationEvents_WorkspaceClose($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_WorkspaceClose
			END SUBROUTINE IApplicationEvents_WorkspaceClose
		END INTERFACE
		INTERFACE
			!Fired when a Workspace is opened.
 			! MEMBERID = 10
 			SUBROUTINE IApplicationEvents_WorkspaceOpen($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IApplicationEvents_WorkspaceOpen
			END SUBROUTINE IApplicationEvents_WorkspaceOpen
		END INTERFACE
		INTERFACE
			!Fired before the Developer Studio Applicaiton shuts down.
 			! MEMBERID = 3
 			SUBROUTINE IDispApplicationEvents_BeforeApplicationShutDown($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_BeforeApplicationShutDown
			END SUBROUTINE IDispApplicationEvents_BeforeApplicationShutDown
		END INTERFACE
		INTERFACE
			!Fired before a build starts.
 			! MEMBERID = 1
 			SUBROUTINE IDispApplicationEvents_BeforeBuildStart($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_BeforeBuildStart
			END SUBROUTINE IDispApplicationEvents_BeforeBuildStart
		END INTERFACE
		INTERFACE
			!Fired before a document is closed.
 			! MEMBERID = 5
 			SUBROUTINE IDispApplicationEvents_BeforeDocumentClose($OBJECT, theDocument)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theDocument	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theDocument
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_BeforeDocumentClose
			END SUBROUTINE IDispApplicationEvents_BeforeDocumentClose
		END INTERFACE
		INTERFACE
			!Fired when a build finished.
 			! MEMBERID = 2
 			SUBROUTINE IDispApplicationEvents_BuildFinish($OBJECT, nNumErrors, nNumWarnings)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: nNumErrors	
				!DEC$ ATTRIBUTES VALUE	:: nNumErrors
				INTEGER*4, INTENT(IN)	:: nNumWarnings	
				!DEC$ ATTRIBUTES VALUE	:: nNumWarnings
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_BuildFinish
			END SUBROUTINE IDispApplicationEvents_BuildFinish
		END INTERFACE
		INTERFACE
			!Fired after a docuement is opened.
 			! MEMBERID = 4
 			SUBROUTINE IDispApplicationEvents_DocumentOpen($OBJECT, theDocument)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theDocument	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theDocument
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_DocumentOpen
			END SUBROUTINE IDispApplicationEvents_DocumentOpen
		END INTERFACE
		INTERFACE
			!Fired after a document has been saved.
 			! MEMBERID = 6
 			SUBROUTINE IDispApplicationEvents_DocumentSave($OBJECT, theDocument)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theDocument	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theDocument
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_DocumentSave
			END SUBROUTINE IDispApplicationEvents_DocumentSave
		END INTERFACE
		INTERFACE
			!Fired after a new document has been created.
 			! MEMBERID = 7
 			SUBROUTINE IDispApplicationEvents_NewDocument($OBJECT, theDocument)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theDocument	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theDocument
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_NewDocument
			END SUBROUTINE IDispApplicationEvents_NewDocument
		END INTERFACE
		INTERFACE
			!Fired when a new Workspace is created.
 			! MEMBERID = 12
 			SUBROUTINE IDispApplicationEvents_NewWorkspace($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_NewWorkspace
			END SUBROUTINE IDispApplicationEvents_NewWorkspace
		END INTERFACE
		INTERFACE
			!Fired after a window is activated.
 			! MEMBERID = 8
 			SUBROUTINE IDispApplicationEvents_WindowActivate($OBJECT, theWindow)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theWindow	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theWindow
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_WindowActivate
			END SUBROUTINE IDispApplicationEvents_WindowActivate
		END INTERFACE
		INTERFACE
			!Fired after a window is deactivated.
 			! MEMBERID = 9
 			SUBROUTINE IDispApplicationEvents_WindowDeactivate($OBJECT, theWindow)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: theWindow	! IDispatch
				!DEC$ ATTRIBUTES VALUE	:: theWindow
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_WindowDeactivate
			END SUBROUTINE IDispApplicationEvents_WindowDeactivate
		END INTERFACE
		INTERFACE
			!Fired when a Workspace is closed.
 			! MEMBERID = 11
 			SUBROUTINE IDispApplicationEvents_WorkspaceClose($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_WorkspaceClose
			END SUBROUTINE IDispApplicationEvents_WorkspaceClose
		END INTERFACE
		INTERFACE
			!Fired when a Workspace is opened.
 			! MEMBERID = 10
 			SUBROUTINE IDispApplicationEvents_WorkspaceOpen($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IDispApplicationEvents_WorkspaceOpen
			END SUBROUTINE IDispApplicationEvents_WorkspaceOpen
		END INTERFACE


		! Module Procedures
		CONTAINS
			!Adds a command defined by an Add-in to Developer Studio. Can only be called by AddIns.
  			LOGICAL*2 FUNCTION IApplication_AddCommand($OBJECT, szCmdName, szMethodName, nBitmapOffset, dwCookie, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_AddCommand
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: szCmdName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szCmdName
				CHARACTER*(*), INTENT(IN)	:: szMethodName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szMethodName
				INTEGER*4, INTENT(IN)	:: nBitmapOffset	
				!DEC$ ATTRIBUTES REFERENCE	:: nBitmapOffset
				INTEGER*4, INTENT(IN)	:: dwCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: dwCookie
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				CALL AUTOADDARG(invokeargs, '$ARG1', szCmdName, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG2', szMethodName, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG3', nBitmapOffset)
				CALL AUTOADDARG(invokeargs, '$ARG4', dwCookie)
				$$STATUS = AUTOINVOKE($OBJECT, 131074, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_AddCommand = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_AddCommand
			!Creates a toolbar and toolbar buttons. Can only be called by AddIns.
  			SUBROUTINE IApplication_AddCommandBarButton($OBJECT, nButtonType, szCmdName, dwCookie, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_AddCommandBarButton
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: nButtonType	
				!DEC$ ATTRIBUTES REFERENCE	:: nButtonType
				CHARACTER*(*), INTENT(IN)	:: szCmdName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szCmdName
				INTEGER*4, INTENT(IN)	:: dwCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: dwCookie
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', nButtonType)
				CALL AUTOADDARG(invokeargs, '$ARG2', szCmdName, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG3', dwCookie)
				$$STATUS = AUTOINVOKE($OBJECT, 25, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_AddCommandBarButton
			!Binds keystrokes to a command or VBStript macro.
  			SUBROUTINE IApplication_AddKeyBinding($OBJECT, szKey, szCommandName, szEditor, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_AddKeyBinding
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: szKey	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szKey
				CHARACTER*(*), INTENT(IN)	:: szCommandName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szCommandName
				CHARACTER*(*), INTENT(IN)	:: szEditor	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szEditor
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', szKey, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG2', szCommandName, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG3', szEditor, AUTO_ARG_IN, VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 26, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_AddKeyBinding
			!Inserts a newly created project into the workspace.
  			SUBROUTINE IApplication_AddProject($OBJECT, szName, szPath, szType, bAddDefaultFolders, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_AddProject
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: szName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szName
				CHARACTER*(*), INTENT(IN)	:: szPath	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szPath
				CHARACTER*(*), INTENT(IN)	:: szType	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szType
				TYPE (VARIANT), INTENT(IN)	:: bAddDefaultFolders	
				!DEC$ ATTRIBUTES REFERENCE	:: bAddDefaultFolders
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', szName, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG2', szPath, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG3', szType, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG4', bAddDefaultFolders, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 35, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_AddProject
			!Builds a specified configuration by processing only the files that have changed.
  			SUBROUTINE IApplication_Build($OBJECT, Configuration, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_Build
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Configuration	
				!DEC$ ATTRIBUTES REFERENCE	:: Configuration
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Configuration)) CALL AUTOADDARG(invokeargs, '$ARG1', Configuration, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 27, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_Build
			!Deletes all intermediate and output files for a configuration.
  			SUBROUTINE IApplication_Clean($OBJECT, Configuration, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_Clean
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Configuration	
				!DEC$ ATTRIBUTES REFERENCE	:: Configuration
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Configuration)) CALL AUTOADDARG(invokeargs, '$ARG1', Configuration, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 32, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_Clean
			!Enables or disables existing modeless windows in Developer Studio.
  			SUBROUTINE IApplication_EnableModeless($OBJECT, bEnable, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_EnableModeless
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2, INTENT(IN)	:: bEnable	
				!DEC$ ATTRIBUTES REFERENCE	:: bEnable
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', bEnable)
				$$STATUS = AUTOINVOKE($OBJECT, 131076, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_EnableModeless
			!Executes a command or VBScript macro.
  			SUBROUTINE IApplication_ExecuteCommand($OBJECT, szCommandName, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_ExecuteCommand
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: szCommandName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szCommandName
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', szCommandName, AUTO_ARG_IN, VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 24, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_ExecuteCommand
			!Runs the program specified by the active configuration outside of the debugger.
  			SUBROUTINE IApplication_ExecuteConfiguration($OBJECT, Reserved, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_ExecuteConfiguration
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Reserved	
				!DEC$ ATTRIBUTES REFERENCE	:: Reserved
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Reserved)) CALL AUTOADDARG(invokeargs, '$ARG1', Reserved, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 31, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_ExecuteConfiguration
			!Returns/Sets whether Developer Studio's main window is the foreground window.
  			LOGICAL*2 FUNCTION IApplication_GetActive($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetActive
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Active', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 131075, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetActive = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetActive
			!Returns/Sets the active Configuration object of the active project.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetActiveConfiguration($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetActiveConfiguration
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ActiveConfiguration', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 20, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetActiveConfiguration = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetActiveConfiguration
			!Returns the active Document object.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetActiveDocument($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetActiveDocument
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ActiveDocument', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 13, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetActiveDocument = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetActiveDocument
			!Returns/Sets the active Project object of the workspace.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetActiveProject($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetActiveProject
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ActiveProject', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 30, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetActiveProject = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetActiveProject
			!Returns the active MDI child window.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetActiveWindow($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetActiveWindow
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ActiveWindow', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 16, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetActiveWindow = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetActiveWindow
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetApplication
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 11, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetApplication
			!Returns/sets the current directory used by File.Open.
  			CHARACTER*(2048) FUNCTION IApplication_GetCurrentDirectory($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetCurrentDirectory
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'CurrentDirectory', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 9, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetCurrentDirectory = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetCurrentDirectory
			!Returns the Debugger object.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetDebugger($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetDebugger
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Debugger', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 6, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetDebugger = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetDebugger
			!Returns the Documents object.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetDocuments($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetDocuments
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Documents', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 15, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetDocuments = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetDocuments
			!Returns the number of errors from the last invocation of build
  			INTEGER*4 FUNCTION IApplication_GetErrors($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetErrors
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Errors', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 33, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetErrors = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetErrors
			!Returns the filename and pathname to the Developer Studio executable.
  			CHARACTER*(2048) FUNCTION IApplication_GetFullName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetFullName
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'FullName', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 10, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetFullName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetFullName
			!Returns/sets the height of Developer Studio's main window.
  			INTEGER*4 FUNCTION IApplication_GetHeight($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetHeight
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Height', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetHeight = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetHeight
			!Returns/sets the coordinate of the left edge of Developer Studio's main window.
  			INTEGER*4 FUNCTION IApplication_GetLeft($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetLeft
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Left', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetLeft = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetLeft
			!Returns the name of the application (Microsoft Developer Studio).
  			CHARACTER*(2048) FUNCTION IApplication_GetName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetName
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Name', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetName
			!Provides access to objects provided by third parties which extend Developer Studio.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetPackageExtension($OBJECT, szExtensionName, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetPackageExtension
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: szExtensionName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szExtensionName
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', szExtensionName, AUTO_ARG_IN, VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 21, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetPackageExtension = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetPackageExtension
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetParent
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 12, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetParent
			!Returns the path of the executable for Developer Studio.
  			CHARACTER*(2048) FUNCTION IApplication_GetPath($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetPath
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Path', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 8, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetPath = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetPath
			!Returns the Projects collection.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetProjects($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetProjects
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Projects', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 19, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetProjects = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetProjects
			!Returns the TextEditor object.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetTextEditor($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetTextEditor
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'TextEditor', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 18, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetTextEditor = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetTextEditor
			!Returns/sets the coordinate of the top edge of Developer Studio's main window.
  			INTEGER*4 FUNCTION IApplication_GetTop($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetTop
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Top', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 3, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetTop = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetTop
			!Returns a string representing the version of Developer Studio.
  			CHARACTER*(2048) FUNCTION IApplication_GetVersion($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetVersion
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Version', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 7, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetVersion = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetVersion
			!Returns/sets whether the Developer Studio main window is visible.
  			LOGICAL*2 FUNCTION IApplication_GetVisible($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetVisible
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Visible', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 29, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetVisible = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetVisible
			!Returns the number of warnings from the last invocation of build
  			INTEGER*4 FUNCTION IApplication_GetWarnings($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetWarnings
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Warnings', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 34, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetWarnings = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetWarnings
			!Returns/sets the width of Developer Studio's main window.
  			INTEGER*4 FUNCTION IApplication_GetWidth($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetWidth
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Width', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 2, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetWidth = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetWidth
			!Returns the Windows object filles with the MDI child windows.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetWindows($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetWindows
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Windows', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 14, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetWindows = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetWindows
			!Returns/Sets the current state of Developer Studio's main window.
  			INTEGER(INT_PTR_KIND()) FUNCTION IApplication_GetWindowState($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_GetWindowState
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'WindowState', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 17, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IApplication_GetWindowState = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IApplication_GetWindowState
			!Prints text to the output window.
  			SUBROUTINE IApplication_PrintToOutputWindow($OBJECT, Message, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_PrintToOutputWindow
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: Message	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: Message
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', Message, AUTO_ARG_IN, VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 23, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_PrintToOutputWindow
			!Quits Developer Studio.
  			SUBROUTINE IApplication_Quit($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_Quit
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 22, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_Quit
			!Rebuilds all files in a specified configuration.
  			SUBROUTINE IApplication_RebuildAll($OBJECT, Configuration, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_RebuildAll
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Configuration	
				!DEC$ ATTRIBUTES REFERENCE	:: Configuration
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Configuration)) CALL AUTOADDARG(invokeargs, '$ARG1', Configuration, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 28, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_RebuildAll
			!Returns/Sets whether Developer Studio's main window is the foreground window.
  			SUBROUTINE IApplication_SetActive($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetActive
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Active', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 131075, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetActive
			!Returns/Sets the active Configuration object of the active project.
  			SUBROUTINE IApplication_SetActiveConfiguration($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetActiveConfiguration
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $ARG1	! IDispatch
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ActiveConfiguration', $ARG1, AUTO_ARG_IN, VT_DISPATCH)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 20, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetActiveConfiguration
			!Returns/Sets the active Project object of the workspace.
  			SUBROUTINE IApplication_SetActiveProject($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetActiveProject
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $ARG1	! IDispatch
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ActiveProject', $ARG1, AUTO_ARG_IN, VT_DISPATCH)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 30, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetActiveProject
			!Provides Developer Studio with information about AddIns. Can only be called by AddIns.
  			SUBROUTINE IApplication_SetAddInInfo($OBJECT, nInstanceHandle, pCmdDispatch, nIDBitmapResourceMedium, nIDBitmapResourceLarge, dwCookie, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetAddInInfo
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4, INTENT(IN)	:: nInstanceHandle	
				!DEC$ ATTRIBUTES REFERENCE	:: nInstanceHandle
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: pCmdDispatch	! IDispatch
				!DEC$ ATTRIBUTES REFERENCE	:: pCmdDispatch
				INTEGER*4, INTENT(IN)	:: nIDBitmapResourceMedium	
				!DEC$ ATTRIBUTES REFERENCE	:: nIDBitmapResourceMedium
				INTEGER*4, INTENT(IN)	:: nIDBitmapResourceLarge	
				!DEC$ ATTRIBUTES REFERENCE	:: nIDBitmapResourceLarge
				INTEGER*4, INTENT(IN)	:: dwCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: dwCookie
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', nInstanceHandle)
				CALL AUTOADDARG(invokeargs, '$ARG2', pCmdDispatch, AUTO_ARG_IN, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG3', nIDBitmapResourceMedium)
				CALL AUTOADDARG(invokeargs, '$ARG4', nIDBitmapResourceLarge)
				CALL AUTOADDARG(invokeargs, '$ARG5', dwCookie)
				$$STATUS = AUTOINVOKE($OBJECT, 131073, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetAddInInfo
			!Returns/sets the current directory used by File.Open.
  			SUBROUTINE IApplication_SetCurrentDirectory($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetCurrentDirectory
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'CurrentDirectory', $ARG1, AUTO_ARG_IN, VT_BSTR)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 9, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetCurrentDirectory
			!Returns/sets the height of Developer Studio's main window.
  			SUBROUTINE IApplication_SetHeight($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetHeight
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Height', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 1, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetHeight
			!Returns/sets the coordinate of the left edge of Developer Studio's main window.
  			SUBROUTINE IApplication_SetLeft($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetLeft
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Left', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetLeft
			!Returns/sets the coordinate of the top edge of Developer Studio's main window.
  			SUBROUTINE IApplication_SetTop($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetTop
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Top', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 3, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetTop
			!Returns/sets whether the Developer Studio main window is visible.
  			SUBROUTINE IApplication_SetVisible($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetVisible
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Visible', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 29, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetVisible
			!Returns/sets the width of Developer Studio's main window.
  			SUBROUTINE IApplication_SetWidth($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetWidth
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Width', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 2, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetWidth
			!Returns/Sets the current state of Developer Studio's main window.
  			SUBROUTINE IApplication_SetWindowState($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IApplication_SetWindowState
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $ARG1	! Void
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'WindowState', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 17, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IApplication_SetWindowState
  			LOGICAL*2 FUNCTION IDispApplication_AddCommand($OBJECT, szCmdName, szMethodName, nBitmapOffset, dwCookie, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_AddCommand
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*)	:: szCmdName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szCmdName
				CHARACTER*(*)	:: szMethodName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szMethodName
				INTEGER*4	:: nBitmapOffset	
				!DEC$ ATTRIBUTES REFERENCE	:: nBitmapOffset
				INTEGER*4	:: dwCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: dwCookie
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				CALL AUTOADDARG(invokeargs, '$ARG1', szCmdName, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG2', szMethodName, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG3', nBitmapOffset)
				CALL AUTOADDARG(invokeargs, '$ARG4', dwCookie)
				$$STATUS = AUTOINVOKE($OBJECT, 131074, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispApplication_AddCommand = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispApplication_AddCommand
  			SUBROUTINE IDispApplication_AddCommandBarButton($OBJECT, nButtonType, szCmdName, dwCookie, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_AddCommandBarButton
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4	:: nButtonType	
				!DEC$ ATTRIBUTES REFERENCE	:: nButtonType
				CHARACTER*(*)	:: szCmdName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szCmdName
				INTEGER*4	:: dwCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: dwCookie
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', nButtonType)
				CALL AUTOADDARG(invokeargs, '$ARG2', szCmdName, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG3', dwCookie)
				$$STATUS = AUTOINVOKE($OBJECT, 25, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_AddCommandBarButton
  			SUBROUTINE IDispApplication_AddKeyBinding($OBJECT, szKey, szCommandName, szEditor, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_AddKeyBinding
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*)	:: szKey	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szKey
				CHARACTER*(*)	:: szCommandName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szCommandName
				CHARACTER*(*)	:: szEditor	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szEditor
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', szKey, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG2', szCommandName, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG3', szEditor, AUTO_ARG_IN, VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 26, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_AddKeyBinding
  			SUBROUTINE IDispApplication_AddProject($OBJECT, szName, szPath, szType, bAddDefaultFolders, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_AddProject
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*)	:: szName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szName
				CHARACTER*(*)	:: szPath	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szPath
				CHARACTER*(*)	:: szType	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szType
				TYPE (VARIANT)	:: bAddDefaultFolders	
				!DEC$ ATTRIBUTES REFERENCE	:: bAddDefaultFolders
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', szName, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG2', szPath, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG3', szType, AUTO_ARG_IN, VT_BSTR)
				CALL AUTOADDARG(invokeargs, '$ARG4', bAddDefaultFolders, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 35, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_AddProject
  			SUBROUTINE IDispApplication_Build($OBJECT, Configuration, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_Build
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), OPTIONAL	:: Configuration	
				!DEC$ ATTRIBUTES REFERENCE	:: Configuration
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Configuration)) CALL AUTOADDARG(invokeargs, '$ARG1', Configuration, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 27, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_Build
  			SUBROUTINE IDispApplication_Clean($OBJECT, Configuration, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_Clean
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), OPTIONAL	:: Configuration	
				!DEC$ ATTRIBUTES REFERENCE	:: Configuration
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Configuration)) CALL AUTOADDARG(invokeargs, '$ARG1', Configuration, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 32, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_Clean
  			SUBROUTINE IDispApplication_EnableModeless($OBJECT, bEnable, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_EnableModeless
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				LOGICAL*2	:: bEnable	
				!DEC$ ATTRIBUTES REFERENCE	:: bEnable
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', bEnable)
				$$STATUS = AUTOINVOKE($OBJECT, 131076, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_EnableModeless
  			SUBROUTINE IDispApplication_ExecuteCommand($OBJECT, szCommandName, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_ExecuteCommand
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*)	:: szCommandName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szCommandName
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', szCommandName, AUTO_ARG_IN, VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 24, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_ExecuteCommand
  			SUBROUTINE IDispApplication_ExecuteConfiguration($OBJECT, Reserved, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_ExecuteConfiguration
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: Reserved	
				!DEC$ ATTRIBUTES REFERENCE	:: Reserved
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Reserved)) CALL AUTOADDARG(invokeargs, '$ARG1', Reserved, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 31, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_ExecuteConfiguration
  			INTEGER(INT_PTR_KIND()) FUNCTION IDispApplication_GetPackageExtension($OBJECT, szExtensionName, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_GetPackageExtension
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*)	:: szExtensionName	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: szExtensionName
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', szExtensionName, AUTO_ARG_IN, VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 21, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispApplication_GetPackageExtension = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispApplication_GetPackageExtension
  			SUBROUTINE IDispApplication_PrintToOutputWindow($OBJECT, Message, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_PrintToOutputWindow
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*)	:: Message	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: Message
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', Message, AUTO_ARG_IN, VT_BSTR)
				$$STATUS = AUTOINVOKE($OBJECT, 23, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_PrintToOutputWindow
  			SUBROUTINE IDispApplication_Quit($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_Quit
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 22, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_Quit
  			SUBROUTINE IDispApplication_RebuildAll($OBJECT, Configuration, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_RebuildAll
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), OPTIONAL	:: Configuration	
				!DEC$ ATTRIBUTES REFERENCE	:: Configuration
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				IF (PRESENT(Configuration)) CALL AUTOADDARG(invokeargs, '$ARG1', Configuration, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 28, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_RebuildAll
  			SUBROUTINE IDispApplication_SetAddInInfo($OBJECT, nInstanceHandle, pCmdDispatch, nIDBitmapResourceMedium, nIDBitmapResourceLarge, dwCookie, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispApplication_SetAddInInfo
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER*4	:: nInstanceHandle	
				!DEC$ ATTRIBUTES REFERENCE	:: nInstanceHandle
				INTEGER(INT_PTR_KIND())	:: pCmdDispatch	! IDispatch
				!DEC$ ATTRIBUTES REFERENCE	:: pCmdDispatch
				INTEGER*4	:: nIDBitmapResourceMedium	
				!DEC$ ATTRIBUTES REFERENCE	:: nIDBitmapResourceMedium
				INTEGER*4	:: nIDBitmapResourceLarge	
				!DEC$ ATTRIBUTES REFERENCE	:: nIDBitmapResourceLarge
				INTEGER*4	:: dwCookie	
				!DEC$ ATTRIBUTES REFERENCE	:: dwCookie
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', nInstanceHandle)
				CALL AUTOADDARG(invokeargs, '$ARG2', pCmdDispatch, AUTO_ARG_IN, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG3', nIDBitmapResourceMedium)
				CALL AUTOADDARG(invokeargs, '$ARG4', nIDBitmapResourceLarge)
				CALL AUTOADDARG(invokeargs, '$ARG5', dwCookie)
				$$STATUS = AUTOINVOKE($OBJECT, 131073, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IDispApplication_SetAddInInfo
  			INTEGER(INT_PTR_KIND()) FUNCTION IDispDocuments_Add($OBJECT, docType, vtReserved, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispDocuments_Add
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*)	:: docType	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: docType
				TYPE (VARIANT), OPTIONAL	:: vtReserved	
				!DEC$ ATTRIBUTES REFERENCE	:: vtReserved
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', docType, AUTO_ARG_IN, VT_BSTR)
				IF (PRESENT(vtReserved)) CALL AUTOADDARG(invokeargs, '$ARG2', vtReserved, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 7, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispDocuments_Add = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispDocuments_Add
  			INTEGER*4 FUNCTION IDispDocuments_CloseAll($OBJECT, boolSaveChanges, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispDocuments_CloseAll
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), OPTIONAL	:: boolSaveChanges	
				!DEC$ ATTRIBUTES REFERENCE	:: boolSaveChanges
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(boolSaveChanges)) CALL AUTOADDARG(invokeargs, '$ARG1', boolSaveChanges, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 6, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispDocuments_CloseAll = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispDocuments_CloseAll
  			INTEGER(INT_PTR_KIND()) FUNCTION IDispDocuments_Item($OBJECT, Index, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispDocuments_Item
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT)	:: Index	
				!DEC$ ATTRIBUTES REFERENCE	:: Index
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', Index, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispDocuments_Item = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispDocuments_Item
  			INTEGER(INT_PTR_KIND()) FUNCTION IDispDocuments_Open($OBJECT, filename, docType, ReadOnly, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispDocuments_Open
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*)	:: filename	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: filename
				TYPE (VARIANT), OPTIONAL	:: docType	
				!DEC$ ATTRIBUTES REFERENCE	:: docType
				TYPE (VARIANT), OPTIONAL	:: ReadOnly	
				!DEC$ ATTRIBUTES REFERENCE	:: ReadOnly
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', filename, AUTO_ARG_IN, VT_BSTR)
				IF (PRESENT(docType)) CALL AUTOADDARG(invokeargs, '$ARG2', docType, AUTO_ARG_IN)
				IF (PRESENT(ReadOnly)) CALL AUTOADDARG(invokeargs, '$ARG3', ReadOnly, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 8, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispDocuments_Open = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispDocuments_Open
  			INTEGER*4 FUNCTION IDispDocuments_SaveAll($OBJECT, boolPrompt, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispDocuments_SaveAll
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), OPTIONAL	:: boolPrompt	
				!DEC$ ATTRIBUTES REFERENCE	:: boolPrompt
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(boolPrompt)) CALL AUTOADDARG(invokeargs, '$ARG1', boolPrompt, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 5, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispDocuments_SaveAll = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispDocuments_SaveAll
  			INTEGER*4 FUNCTION IDispGenericDocument_Close($OBJECT, longSaveChanges, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispGenericDocument_Close
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), OPTIONAL	:: longSaveChanges	
				!DEC$ ATTRIBUTES REFERENCE	:: longSaveChanges
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(longSaveChanges)) CALL AUTOADDARG(invokeargs, '$ARG1', longSaveChanges, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 16, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispGenericDocument_Close = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispGenericDocument_Close
  			INTEGER(INT_PTR_KIND()) FUNCTION IDispGenericDocument_NewWindow($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispGenericDocument_NewWindow
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOINVOKE($OBJECT, 11, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispGenericDocument_NewWindow = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispGenericDocument_NewWindow
  			LOGICAL*2 FUNCTION IDispGenericDocument_PrintOut($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispGenericDocument_PrintOut
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				$$STATUS = AUTOINVOKE($OBJECT, 15, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispGenericDocument_PrintOut = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispGenericDocument_PrintOut
  			LOGICAL*2 FUNCTION IDispGenericDocument_Redo($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispGenericDocument_Redo
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				$$STATUS = AUTOINVOKE($OBJECT, 14, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispGenericDocument_Redo = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispGenericDocument_Redo
  			INTEGER*4 FUNCTION IDispGenericDocument_Save($OBJECT, filename, longSaveChanges, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispGenericDocument_Save
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), OPTIONAL	:: filename	
				!DEC$ ATTRIBUTES REFERENCE	:: filename
				TYPE (VARIANT), OPTIONAL	:: longSaveChanges	
				!DEC$ ATTRIBUTES REFERENCE	:: longSaveChanges
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(filename)) CALL AUTOADDARG(invokeargs, '$ARG1', filename, AUTO_ARG_IN)
				IF (PRESENT(longSaveChanges)) CALL AUTOADDARG(invokeargs, '$ARG2', longSaveChanges, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 12, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispGenericDocument_Save = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispGenericDocument_Save
  			LOGICAL*2 FUNCTION IDispGenericDocument_Undo($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispGenericDocument_Undo
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				$$STATUS = AUTOINVOKE($OBJECT, 13, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispGenericDocument_Undo = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispGenericDocument_Undo
  			INTEGER*4 FUNCTION IDispGenericWindow_Close($OBJECT, boolSaveChanges, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispGenericWindow_Close
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), OPTIONAL	:: boolSaveChanges	
				!DEC$ ATTRIBUTES REFERENCE	:: boolSaveChanges
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(boolSaveChanges)) CALL AUTOADDARG(invokeargs, '$ARG1', boolSaveChanges, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 16, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispGenericWindow_Close = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispGenericWindow_Close
  			INTEGER(INT_PTR_KIND()) FUNCTION IDispProjects_Item($OBJECT, Index, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispProjects_Item
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT)	:: Index	
				!DEC$ ATTRIBUTES REFERENCE	:: Index
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', Index, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispProjects_Item = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispProjects_Item
  			INTEGER*4 FUNCTION IDispWindows_CloseAll($OBJECT, vtSaveChanges, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispWindows_CloseAll
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), OPTIONAL	:: vtSaveChanges	
				!DEC$ ATTRIBUTES REFERENCE	:: vtSaveChanges
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(vtSaveChanges)) CALL AUTOADDARG(invokeargs, '$ARG1', vtSaveChanges, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 5, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispWindows_CloseAll = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispWindows_CloseAll
  			INTEGER(INT_PTR_KIND()) FUNCTION IDispWindows_Item($OBJECT, Index, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDispWindows_Item
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT)	:: Index	
				!DEC$ ATTRIBUTES REFERENCE	:: Index
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', Index, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDispWindows_Item = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDispWindows_Item
			!Creates a new document.
  			INTEGER(INT_PTR_KIND()) FUNCTION IDocuments_Add($OBJECT, docType, vtReserved, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDocuments_Add
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: docType	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: docType
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vtReserved	
				!DEC$ ATTRIBUTES REFERENCE	:: vtReserved
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', docType, AUTO_ARG_IN, VT_BSTR)
				IF (PRESENT(vtReserved)) CALL AUTOADDARG(invokeargs, '$ARG2', vtReserved, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 7, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDocuments_Add = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDocuments_Add
			!Closes all documents
  			INTEGER(INT_PTR_KIND()) FUNCTION IDocuments_CloseAll($OBJECT, vtSaveChanges, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDocuments_CloseAll
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vtSaveChanges	
				!DEC$ ATTRIBUTES REFERENCE	:: vtSaveChanges
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(vtSaveChanges)) CALL AUTOADDARG(invokeargs, '$ARG1', vtSaveChanges, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 6, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDocuments_CloseAll = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDocuments_CloseAll
  			INTEGER(INT_PTR_KIND()) FUNCTION IDocuments_Get_NewEnum($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDocuments_Get_NewEnum
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '_NewEnum', $RETURN, AUTO_ARG_OUT, VT_UNKNOWN)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, -4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDocuments_Get_NewEnum = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDocuments_Get_NewEnum
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IDocuments_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDocuments_GetApplication
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 2, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDocuments_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDocuments_GetApplication
			!Returns the number of documents in the collection.
  			INTEGER*4 FUNCTION IDocuments_GetCount($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDocuments_GetCount
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Count', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDocuments_GetCount = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDocuments_GetCount
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IDocuments_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDocuments_GetParent
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 3, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDocuments_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDocuments_GetParent
			!Returns a Document object from the collection by its index or filename.
  			INTEGER(INT_PTR_KIND()) FUNCTION IDocuments_Item($OBJECT, Index, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDocuments_Item
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: Index	
				!DEC$ ATTRIBUTES REFERENCE	:: Index
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', Index, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDocuments_Item = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDocuments_Item
			!Opens an existing document.
  			INTEGER(INT_PTR_KIND()) FUNCTION IDocuments_Open($OBJECT, filename, vtDocType, vtBoolReadOnly, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDocuments_Open
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER*(*), INTENT(IN)	:: filename	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: filename
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vtDocType	
				!DEC$ ATTRIBUTES REFERENCE	:: vtDocType
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vtBoolReadOnly	
				!DEC$ ATTRIBUTES REFERENCE	:: vtBoolReadOnly
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', filename, AUTO_ARG_IN, VT_BSTR)
				IF (PRESENT(vtDocType)) CALL AUTOADDARG(invokeargs, '$ARG2', vtDocType, AUTO_ARG_IN)
				IF (PRESENT(vtBoolReadOnly)) CALL AUTOADDARG(invokeargs, '$ARG3', vtBoolReadOnly, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 8, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDocuments_Open = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDocuments_Open
			!Saves all open documents.
  			INTEGER(INT_PTR_KIND()) FUNCTION IDocuments_SaveAll($OBJECT, vtBoolPrompt, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IDocuments_SaveAll
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vtBoolPrompt	
				!DEC$ ATTRIBUTES REFERENCE	:: vtBoolPrompt
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(vtBoolPrompt)) CALL AUTOADDARG(invokeargs, '$ARG1', vtBoolPrompt, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 5, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IDocuments_SaveAll = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IDocuments_SaveAll
			!Closes the document.
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericDocument_Close($OBJECT, vSaveChanges, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Close
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vSaveChanges	
				!DEC$ ATTRIBUTES REFERENCE	:: vSaveChanges
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(vSaveChanges)) CALL AUTOADDARG(invokeargs, '$ARG1', vSaveChanges, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 16, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_Close = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_Close
			!Returns/sets the active state of the window.
  			LOGICAL*2 FUNCTION IGenericDocument_GetActive($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetActive
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Active', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 10, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetActive = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetActive
			!Returns the active window for this document.
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericDocument_GetActiveWindow($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetActiveWindow
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ActiveWindow', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 6, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetActiveWindow = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetActiveWindow
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericDocument_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetApplication
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 2, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetApplication
			!Returns the name of the document including the path.
  			CHARACTER*(2048) FUNCTION IGenericDocument_GetFullName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetFullName
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'FullName', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetFullName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetFullName
			!Returns the name of the document.
  			CHARACTER*(2048) FUNCTION IGenericDocument_GetName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetName
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Name', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetName
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericDocument_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetParent
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 3, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetParent
			!Returns the pathname of the document. Never has a trailing backslash.
  			CHARACTER*(2048) FUNCTION IGenericDocument_GetPath($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetPath
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Path', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetPath = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetPath
			!Returns/sets whether a document can be changed inside Developer Studio.
  			LOGICAL*2 FUNCTION IGenericDocument_GetReadOnly($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetReadOnly
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ReadOnly', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 7, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetReadOnly = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetReadOnly
			!Returns False if document has changed since it was last saved.
  			LOGICAL*2 FUNCTION IGenericDocument_GetSaved($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetSaved
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Saved', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 5, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetSaved = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetSaved
			!Returns a string describing the type of the document. Most documents return 'Generic'.
  			CHARACTER*(2048) FUNCTION IGenericDocument_GetType($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetType
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Type', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 8, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetType = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetType
			!Returns a Windows collection containing the windows associated with this document.
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericDocument_GetWindows($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_GetWindows
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Windows', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 9, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_GetWindows = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_GetWindows
			!Creates a new window for this document.
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericDocument_NewWindow($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_NewWindow
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOINVOKE($OBJECT, 11, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_NewWindow = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_NewWindow
			!Sends the document to the current printer. Has no effect on 'Generic' documents.
  			LOGICAL*2 FUNCTION IGenericDocument_PrintOut($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_PrintOut
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				$$STATUS = AUTOINVOKE($OBJECT, 15, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_PrintOut = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_PrintOut
			!Reapplies previous editing actions. Has no effect on 'Generic' documents.
  			LOGICAL*2 FUNCTION IGenericDocument_Redo($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Redo
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				$$STATUS = AUTOINVOKE($OBJECT, 14, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_Redo = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_Redo
  			SUBROUTINE IGenericDocument_Reserved1($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Reserved1
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 50, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_Reserved1
  			SUBROUTINE IGenericDocument_Reserved10($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Reserved10
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 59, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_Reserved10
  			SUBROUTINE IGenericDocument_Reserved2($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Reserved2
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 51, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_Reserved2
  			SUBROUTINE IGenericDocument_Reserved3($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Reserved3
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 52, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_Reserved3
  			SUBROUTINE IGenericDocument_Reserved4($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Reserved4
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 53, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_Reserved4
  			SUBROUTINE IGenericDocument_Reserved5($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Reserved5
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 54, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_Reserved5
  			SUBROUTINE IGenericDocument_Reserved6($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Reserved6
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 55, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_Reserved6
  			SUBROUTINE IGenericDocument_Reserved7($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Reserved7
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 56, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_Reserved7
  			SUBROUTINE IGenericDocument_Reserved8($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Reserved8
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 57, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_Reserved8
  			SUBROUTINE IGenericDocument_Reserved9($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Reserved9
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 58, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_Reserved9
			!Saves the document to disk.
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericDocument_Save($OBJECT, vFilename, vBoolPrompt, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Save
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vFilename	
				!DEC$ ATTRIBUTES REFERENCE	:: vFilename
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vBoolPrompt	
				!DEC$ ATTRIBUTES REFERENCE	:: vBoolPrompt
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(vFilename)) CALL AUTOADDARG(invokeargs, '$ARG1', vFilename, AUTO_ARG_IN)
				IF (PRESENT(vBoolPrompt)) CALL AUTOADDARG(invokeargs, '$ARG2', vBoolPrompt, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 12, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_Save = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_Save
			!Returns/sets the active state of the window.
  			SUBROUTINE IGenericDocument_SetActive($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_SetActive
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Active', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 10, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_SetActive
			!Returns/sets whether a document can be changed inside Developer Studio.
  			SUBROUTINE IGenericDocument_SetReadOnly($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_SetReadOnly
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'ReadOnly', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 7, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericDocument_SetReadOnly
			!Reverses previous editing actions. Has no effect on 'Generic' documents.
  			LOGICAL*2 FUNCTION IGenericDocument_Undo($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericDocument_Undo
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				$$STATUS = AUTOINVOKE($OBJECT, 13, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericDocument_Undo = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericDocument_Undo
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericProject_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_GetApplication
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 2, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericProject_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericProject_GetApplication
			!Returns the name of the project including its path.
  			CHARACTER*(2048) FUNCTION IGenericProject_GetFullName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_GetFullName
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'FullName', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericProject_GetFullName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericProject_GetFullName
			!Returns the name of the project.
  			CHARACTER*(2048) FUNCTION IGenericProject_GetName($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_GetName
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Name', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericProject_GetName = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericProject_GetName
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericProject_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_GetParent
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 3, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericProject_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericProject_GetParent
			!Returns a string representing the type of the project.
  			CHARACTER*(2048) FUNCTION IGenericProject_GetType($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_GetType
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Type', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericProject_GetType = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericProject_GetType
  			SUBROUTINE IGenericProject_Reserved1($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_Reserved1
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 50, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericProject_Reserved1
  			SUBROUTINE IGenericProject_Reserved10($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_Reserved10
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 59, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericProject_Reserved10
  			SUBROUTINE IGenericProject_Reserved2($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_Reserved2
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 51, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericProject_Reserved2
  			SUBROUTINE IGenericProject_Reserved3($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_Reserved3
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 52, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericProject_Reserved3
  			SUBROUTINE IGenericProject_Reserved4($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_Reserved4
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 53, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericProject_Reserved4
  			SUBROUTINE IGenericProject_Reserved5($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_Reserved5
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 54, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericProject_Reserved5
  			SUBROUTINE IGenericProject_Reserved6($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_Reserved6
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 55, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericProject_Reserved6
  			SUBROUTINE IGenericProject_Reserved7($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_Reserved7
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 56, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericProject_Reserved7
  			SUBROUTINE IGenericProject_Reserved8($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_Reserved8
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 57, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericProject_Reserved8
  			SUBROUTINE IGenericProject_Reserved9($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericProject_Reserved9
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 58, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericProject_Reserved9
			!Close the window.
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericWindow_Close($OBJECT, boolSaveChanges, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Close
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: boolSaveChanges	
				!DEC$ ATTRIBUTES REFERENCE	:: boolSaveChanges
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				CALL AUTOADDARG(invokeargs, '$ARG1', boolSaveChanges, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 13, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_Close = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_Close
			!Returns/sets the active state of the window.
  			LOGICAL*2 FUNCTION IGenericWindow_GetActive($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetActive
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				LOGICAL*2, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Active', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 2, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetActive = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetActive
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericWindow_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetApplication
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 11, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetApplication
			!Returns the caption of a window.
  			CHARACTER*(2048) FUNCTION IGenericWindow_GetCaption($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetCaption
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Caption', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetCaption = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetCaption
			!Returns/sets the height of the window.
  			INTEGER*4 FUNCTION IGenericWindow_GetHeight($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetHeight
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Height', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 5, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetHeight = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetHeight
			!Returns the one-based ordinal of a window in the Windows collection.
  			INTEGER*4 FUNCTION IGenericWindow_GetIndex($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetIndex
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Index', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 7, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetIndex = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetIndex
			!Returns/sets the coordinate for the left edge of the window.
  			INTEGER*4 FUNCTION IGenericWindow_GetLeft($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetLeft
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Left', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 3, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetLeft = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetLeft
			!Returns the next window in the tab sequence.
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericWindow_GetNext($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetNext
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Next', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 8, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetNext = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetNext
			!Returns the document associated with this window.
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericWindow_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetParent
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 12, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetParent
			!Returns the previous window in the shift-tab sequence.
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericWindow_GetPrevious($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetPrevious
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Previous', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 9, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetPrevious = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetPrevious
			!Returns/sets the coordinate for the top of the window.
  			INTEGER*4 FUNCTION IGenericWindow_GetTop($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetTop
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Top', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetTop = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetTop
			!Returns a string describing the type of the window. Most windows return 'Generic'.
  			CHARACTER*(2048) FUNCTION IGenericWindow_GetType($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetType
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				CHARACTER*(2048), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Type', $RETURN, AUTO_ARG_OUT, VT_BSTR)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetType = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetType
			!Returns/sets the width of the window.
  			INTEGER*4 FUNCTION IGenericWindow_GetWidth($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetWidth
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Width', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 6, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetWidth = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetWidth
			!Returns the state of the window or maximize, minimize, or restore the window.
  			INTEGER(INT_PTR_KIND()) FUNCTION IGenericWindow_GetWindowState($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_GetWindowState
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'WindowState', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 10, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IGenericWindow_GetWindowState = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IGenericWindow_GetWindowState
  			SUBROUTINE IGenericWindow_Reserved1($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Reserved1
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 50, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_Reserved1
  			SUBROUTINE IGenericWindow_Reserved10($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Reserved10
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 59, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_Reserved10
  			SUBROUTINE IGenericWindow_Reserved2($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Reserved2
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 51, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_Reserved2
  			SUBROUTINE IGenericWindow_Reserved3($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Reserved3
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 52, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_Reserved3
  			SUBROUTINE IGenericWindow_Reserved4($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Reserved4
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 53, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_Reserved4
  			SUBROUTINE IGenericWindow_Reserved5($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Reserved5
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 54, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_Reserved5
  			SUBROUTINE IGenericWindow_Reserved6($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Reserved6
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 55, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_Reserved6
  			SUBROUTINE IGenericWindow_Reserved7($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Reserved7
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 56, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_Reserved7
  			SUBROUTINE IGenericWindow_Reserved8($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Reserved8
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 57, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_Reserved8
  			SUBROUTINE IGenericWindow_Reserved9($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_Reserved9
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				$$STATUS = AUTOINVOKE($OBJECT, 58, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_Reserved9
			!Returns/sets the active state of the window.
  			SUBROUTINE IGenericWindow_SetActive($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_SetActive
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Active', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 2, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_SetActive
			!Returns/sets the height of the window.
  			SUBROUTINE IGenericWindow_SetHeight($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_SetHeight
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Height', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 5, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_SetHeight
			!Returns/sets the coordinate for the left edge of the window.
  			SUBROUTINE IGenericWindow_SetLeft($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_SetLeft
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Left', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 3, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_SetLeft
			!Returns/sets the coordinate for the top of the window.
  			SUBROUTINE IGenericWindow_SetTop($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_SetTop
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Top', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_SetTop
			!Returns/sets the width of the window.
  			SUBROUTINE IGenericWindow_SetWidth($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_SetWidth
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Width', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 6, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_SetWidth
			!Returns the state of the window or maximize, minimize, or restore the window.
  			SUBROUTINE IGenericWindow_SetWindowState($OBJECT, $ARG1, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IGenericWindow_SetWindowState
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $ARG1	! Void
				!DEC$ ATTRIBUTES REFERENCE	:: $ARG1
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'WindowState', $ARG1)
				$$STATUS = AUTOSETPROPERTYBYID($OBJECT, 10, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IGenericWindow_SetWindowState
  			INTEGER(INT_PTR_KIND()) FUNCTION IProjects_Get_NewEnum($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IProjects_Get_NewEnum
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '_NewEnum', $RETURN, AUTO_ARG_OUT, VT_UNKNOWN)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, -4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IProjects_Get_NewEnum = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IProjects_Get_NewEnum
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IProjects_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IProjects_GetApplication
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IProjects_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IProjects_GetApplication
			!Returns the number of Project objects in the collections.
  			INTEGER*4 FUNCTION IProjects_GetCount($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IProjects_GetCount
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Count', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 2, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IProjects_GetCount = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IProjects_GetCount
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IProjects_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IProjects_GetParent
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IProjects_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IProjects_GetParent
			!Returns a Project object from the collection by index or Name.
  			!IProjects_Item return type is POINTER(p, INTEGER(INT_PTR_KIND()))
			INTEGER(INT_PTR_KIND()) FUNCTION IProjects_Item($OBJECT, Index, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IProjects_Item
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: Index	
				!DEC$ ATTRIBUTES REFERENCE	:: Index
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', Index, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IProjects_Item = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IProjects_Item
			!Arranges the windows in the collection.
  			SUBROUTINE IWindows_Arrange($OBJECT, vtArrangeStyle, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWindows_Arrange
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: vtArrangeStyle	
				!DEC$ ATTRIBUTES REFERENCE	:: vtArrangeStyle
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$ARG1', vtArrangeStyle, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 5, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END SUBROUTINE IWindows_Arrange
			!Closes the windows in the collection.
  			INTEGER(INT_PTR_KIND()) FUNCTION IWindows_CloseAll($OBJECT, vtSaveChanges, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWindows_CloseAll
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN), OPTIONAL	:: vtSaveChanges	
				!DEC$ ATTRIBUTES REFERENCE	:: vtSaveChanges
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN)
				IF (PRESENT(vtSaveChanges)) CALL AUTOADDARG(invokeargs, '$ARG1', vtSaveChanges, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 6, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWindows_CloseAll = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWindows_CloseAll
  			INTEGER(INT_PTR_KIND()) FUNCTION IWindows_Get_NewEnum($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWindows_Get_NewEnum
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '_NewEnum', $RETURN, AUTO_ARG_OUT, VT_UNKNOWN)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, -4, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWindows_Get_NewEnum = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWindows_Get_NewEnum
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IWindows_GetApplication($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWindows_GetApplication
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Application', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 2, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWindows_GetApplication = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWindows_GetApplication
			!Returns number of Window objects in the collection.
  			INTEGER*4 FUNCTION IWindows_GetCount($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWindows_GetCount
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER*4, VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Count', $RETURN, AUTO_ARG_OUT)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 1, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWindows_GetCount = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWindows_GetCount
			!Returns the Developer Studio Application object
  			INTEGER(INT_PTR_KIND()) FUNCTION IWindows_GetParent($OBJECT, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWindows_GetParent
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), 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(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, 'Parent', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				$$STATUS = AUTOGETPROPERTYBYID($OBJECT, 3, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWindows_GetParent = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWindows_GetParent
			!Returns a Window object from the collection by its index or its caption.
  			INTEGER(INT_PTR_KIND()) FUNCTION IWindows_Item($OBJECT, Index, $STATUS)
				!DEC$ ATTRIBUTES DLLEXPORT	:: IWindows_Item
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: Index	
				!DEC$ ATTRIBUTES REFERENCE	:: Index
				INTEGER*4, INTENT(OUT), OPTIONAL	:: $STATUS	 ! Method status
				!DEC$ ATTRIBUTES REFERENCE			:: $STATUS
				INTEGER*4 $$STATUS
				INTEGER(INT_PTR_KIND()) invokeargs
				INTEGER(INT_PTR_KIND()), VOLATILE :: $RETURN
				invokeargs = AUTOALLOCATEINVOKEARGS()
				CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT, VT_DISPATCH)
				CALL AUTOADDARG(invokeargs, '$ARG1', Index, AUTO_ARG_IN)
				$$STATUS = AUTOINVOKE($OBJECT, 0, invokeargs)
				IF (PRESENT($STATUS)) $STATUS = $$STATUS
				IWindows_Item = $RETURN
				CALL AUTODEALLOCATEINVOKEARGS (invokeargs)
			END FUNCTION IWindows_Item
	END MODULE
