!DEC$ FREEFORM
!DEC$ FIXEDFORMLINESIZE:72
!DEC$ INTEGER:4

! ddbplot_2009.f90

! This module contains the COM interfaces of the objects defined in 
! E:\DDBMAIN\DDBSP2009\DDBMDIPLOT.exe
! Generated by the Fortran Module Wizard on 07/02/08

	MODULE ddbplot_2009
		USE DFWINTY
		USE DFCOM
		IMPLICIT NONE
	

		! CLSIDs		
		TYPE (GUID), PARAMETER :: CLSID_RemoteControl = &
			GUID(#27776335, #EE1A, #4F62, &
			  CHAR('B2'X)//CHAR('CC'X)//CHAR('3D'X)//CHAR('67'X)// &
			  CHAR('4F'X)//CHAR('9F'X)//CHAR('07'X)//CHAR('70'X))

		! IIDs		
		TYPE (GUID), PARAMETER :: IID_IRemoteControl = &
			GUID(#5729CA66, #7B6B, #43A5, &
			  CHAR('9D'X)//CHAR('45'X)//CHAR('0B'X)//CHAR('0B'X)// &
			  CHAR('24'X)//CHAR('CC'X)//CHAR('38'X)//CHAR('60'X))

		! Interfaces
		INTERFACE
  			INTEGER(4) FUNCTION IRemoteControl_Cascade($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IRemoteControl_Cascade
			END FUNCTION IRemoteControl_Cascade
		END INTERFACE
		POINTER(IRemoteControl_Cascade_PTR, IRemoteControl_Cascade)	! routine pointer
		INTERFACE
  			INTEGER(4) FUNCTION IRemoteControl_CloseAll($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IRemoteControl_CloseAll
			END FUNCTION IRemoteControl_CloseAll
		END INTERFACE
		POINTER(IRemoteControl_CloseAll_PTR, IRemoteControl_CloseAll)	! routine pointer
		INTERFACE
  			INTEGER(4) FUNCTION IRemoteControl_Maximize($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IRemoteControl_Maximize
			END FUNCTION IRemoteControl_Maximize
		END INTERFACE
		POINTER(IRemoteControl_Maximize_PTR, IRemoteControl_Maximize)	! routine pointer
		INTERFACE
  			INTEGER(4) FUNCTION IRemoteControl_Minimize($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IRemoteControl_Minimize
			END FUNCTION IRemoteControl_Minimize
		END INTERFACE
		POINTER(IRemoteControl_Minimize_PTR, IRemoteControl_Minimize)	! routine pointer
		INTERFACE
  			INTEGER(4) FUNCTION IRemoteControl_Name($OBJECT, Name)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(OUT)	:: Name	! BSTR
				!DEC$ ATTRIBUTES REFERENCE	:: Name
			!DEC$ ATTRIBUTES STDCALL :: IRemoteControl_Name
			END FUNCTION IRemoteControl_Name
		END INTERFACE
		POINTER(IRemoteControl_Name_PTR, IRemoteControl_Name)	! routine pointer
		INTERFACE
  			INTEGER(4) FUNCTION IRemoteControl_Open($OBJECT, filename)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: filename	! BSTR
				!DEC$ ATTRIBUTES VALUE	:: filename
			!DEC$ ATTRIBUTES STDCALL :: IRemoteControl_Open
			END FUNCTION IRemoteControl_Open
		END INTERFACE
		POINTER(IRemoteControl_Open_PTR, IRemoteControl_Open)	! routine pointer
		INTERFACE
  			INTEGER(4) FUNCTION IRemoteControl_Restore($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IRemoteControl_Restore
			END FUNCTION IRemoteControl_Restore
		END INTERFACE
		POINTER(IRemoteControl_Restore_PTR, IRemoteControl_Restore)	! routine pointer
		INTERFACE
  			INTEGER(4) FUNCTION IRemoteControl_TileHorizontal($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IRemoteControl_TileHorizontal
			END FUNCTION IRemoteControl_TileHorizontal
		END INTERFACE
		POINTER(IRemoteControl_TileHorizontal_PTR, IRemoteControl_TileHorizontal)	! routine pointer
		INTERFACE
  			INTEGER(4) FUNCTION IRemoteControl_TileVertical($OBJECT)
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
			!DEC$ ATTRIBUTES STDCALL :: IRemoteControl_TileVertical
			END FUNCTION IRemoteControl_TileVertical
		END INTERFACE
		POINTER(IRemoteControl_TileVertical_PTR, IRemoteControl_TileVertical)	! routine pointer


		! Module Procedures
		CONTAINS
  			INTEGER(4) FUNCTION $IRemoteControl_Cascade($OBJECT)
				!DEC$ ATTRIBUTES DLLEXPORT	:: $IRemoteControl_Cascade
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(4) $RETURN
				INTEGER(INT_PTR_KIND()) $VTBL			! Interface Function Table
				POINTER($VPTR, $VTBL)
				$VPTR = $OBJECT			! Interface Function Table
				$VPTR = $VTBL + 40	! Add routine table offset
				IRemoteControl_Cascade_PTR = $VTBL
				$RETURN = IRemoteControl_Cascade($OBJECT)
				$IRemoteControl_Cascade = $RETURN
			END FUNCTION $IRemoteControl_Cascade
  			INTEGER(4) FUNCTION $IRemoteControl_CloseAll($OBJECT)
				!DEC$ ATTRIBUTES DLLEXPORT	:: $IRemoteControl_CloseAll
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(4) $RETURN
				INTEGER(INT_PTR_KIND()) $VTBL			! Interface Function Table
				POINTER($VPTR, $VTBL)
				$VPTR = $OBJECT			! Interface Function Table
				$VPTR = $VTBL + 60	! Add routine table offset
				IRemoteControl_CloseAll_PTR = $VTBL
				$RETURN = IRemoteControl_CloseAll($OBJECT)
				$IRemoteControl_CloseAll = $RETURN
			END FUNCTION $IRemoteControl_CloseAll
  			INTEGER(4) FUNCTION $IRemoteControl_Maximize($OBJECT)
				!DEC$ ATTRIBUTES DLLEXPORT	:: $IRemoteControl_Maximize
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(4) $RETURN
				INTEGER(INT_PTR_KIND()) $VTBL			! Interface Function Table
				POINTER($VPTR, $VTBL)
				$VPTR = $OBJECT			! Interface Function Table
				$VPTR = $VTBL + 48	! Add routine table offset
				IRemoteControl_Maximize_PTR = $VTBL
				$RETURN = IRemoteControl_Maximize($OBJECT)
				$IRemoteControl_Maximize = $RETURN
			END FUNCTION $IRemoteControl_Maximize
  			INTEGER(4) FUNCTION $IRemoteControl_Minimize($OBJECT)
				!DEC$ ATTRIBUTES DLLEXPORT	:: $IRemoteControl_Minimize
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(4) $RETURN
				INTEGER(INT_PTR_KIND()) $VTBL			! Interface Function Table
				POINTER($VPTR, $VTBL)
				$VPTR = $OBJECT			! Interface Function Table
				$VPTR = $VTBL + 52	! Add routine table offset
				IRemoteControl_Minimize_PTR = $VTBL
				$RETURN = IRemoteControl_Minimize($OBJECT)
				$IRemoteControl_Minimize = $RETURN
			END FUNCTION $IRemoteControl_Minimize
  			INTEGER(4) FUNCTION $IRemoteControl_Name($OBJECT, Name)
				!DEC$ ATTRIBUTES DLLEXPORT	:: $IRemoteControl_Name
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER(LEN=*), INTENT(OUT)	:: Name	! BSTR
				!!DEC$ ATTRIBUTES REFERENCE	:: Name
				INTEGER(4) $RETURN
				INTEGER(INT_PTR_KIND()) $VTBL			! Interface Function Table
				POINTER($VPTR, $VTBL)
				INTEGER(INT_PTR_KIND()) $BSTR_Name    ! BSTR
				INTEGER(4) $STATUS
				$VPTR = $OBJECT			! Interface Function Table
				$VPTR = $VTBL + 44	! Add routine table offset
				IRemoteControl_Name_PTR = $VTBL
				$RETURN = IRemoteControl_Name($OBJECT, $BSTR_Name)
				$STATUS = ConvertBSTRToString($BSTR_Name, Name)
				CALL SysFreeString($BSTR_Name)
				$IRemoteControl_Name = $RETURN
			END FUNCTION $IRemoteControl_Name
  			INTEGER(4) FUNCTION $IRemoteControl_Open($OBJECT, filename)
				!DEC$ ATTRIBUTES DLLEXPORT	:: $IRemoteControl_Open
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				CHARACTER(LEN=*), INTENT(IN)	:: filename	! BSTR
				!!DEC$ ATTRIBUTES REFERENCE	:: filename
				INTEGER(4) $RETURN
				INTEGER(INT_PTR_KIND()) $VTBL			! Interface Function Table
				POINTER($VPTR, $VTBL)
				INTEGER(INT_PTR_KIND()) $BSTR_filename    ! BSTR
				$BSTR_filename = ConvertStringToBSTR(filename)
				$VPTR = $OBJECT			! Interface Function Table
				$VPTR = $VTBL + 36	! Add routine table offset
				IRemoteControl_Open_PTR = $VTBL
				$RETURN = IRemoteControl_Open($OBJECT, $BSTR_filename)
				CALL SysFreeString($BSTR_filename)
				$IRemoteControl_Open = $RETURN
			END FUNCTION $IRemoteControl_Open
  			INTEGER(4) FUNCTION $IRemoteControl_Restore($OBJECT)
				!DEC$ ATTRIBUTES DLLEXPORT	:: $IRemoteControl_Restore
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(4) $RETURN
				INTEGER(INT_PTR_KIND()) $VTBL			! Interface Function Table
				POINTER($VPTR, $VTBL)
				$VPTR = $OBJECT			! Interface Function Table
				$VPTR = $VTBL + 56	! Add routine table offset
				IRemoteControl_Restore_PTR = $VTBL
				$RETURN = IRemoteControl_Restore($OBJECT)
				$IRemoteControl_Restore = $RETURN
			END FUNCTION $IRemoteControl_Restore
  			INTEGER(4) FUNCTION $IRemoteControl_TileHorizontal($OBJECT)
				!DEC$ ATTRIBUTES DLLEXPORT	:: $IRemoteControl_TileHorizontal
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(4) $RETURN
				INTEGER(INT_PTR_KIND()) $VTBL			! Interface Function Table
				POINTER($VPTR, $VTBL)
				$VPTR = $OBJECT			! Interface Function Table
				$VPTR = $VTBL + 32	! Add routine table offset
				IRemoteControl_TileHorizontal_PTR = $VTBL
				$RETURN = IRemoteControl_TileHorizontal($OBJECT)
				$IRemoteControl_TileHorizontal = $RETURN
			END FUNCTION $IRemoteControl_TileHorizontal
  			INTEGER(4) FUNCTION $IRemoteControl_TileVertical($OBJECT)
				!DEC$ ATTRIBUTES DLLEXPORT	:: $IRemoteControl_TileVertical
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				INTEGER(4) $RETURN
				INTEGER(INT_PTR_KIND()) $VTBL			! Interface Function Table
				POINTER($VPTR, $VTBL)
				$VPTR = $OBJECT			! Interface Function Table
				$VPTR = $VTBL + 28	! Add routine table offset
				IRemoteControl_TileVertical_PTR = $VTBL
				$RETURN = IRemoteControl_TileVertical($OBJECT)
				$IRemoteControl_TileVertical = $RETURN
			END FUNCTION $IRemoteControl_TileVertical
	END MODULE
