! AToI.f90

! This module contains the COM interfaces of the objects defined in 
! E:\Program Files\Microsoft Visual Studio\DF98\SAMPLES\ADVANCED\COM\ErrorInfo\Debug\ErrorInfo.dll\1
! Generated by the Fortran Module Wizard on 11/09/00

	MODULE AToI
		USE DFWINTY
		USE DFCOM
		IMPLICIT NONE
	

		! CLSIDs		
		TYPE (GUID), PARAMETER :: CLSID_AToI = &
			GUID(#6B87E426, #B586, #11D4, &
			  CHAR('AB'X)//CHAR('D9'X)//CHAR('44'X)//CHAR('45'X)// &
			  CHAR('53'X)//CHAR('54'X)//CHAR('00'X)//CHAR('00'X))

		! IIDs		
		TYPE (GUID), PARAMETER :: IID_IAToI = &
			GUID(#6B87E427, #B586, #11D4, &
			  CHAR('AB'X)//CHAR('D9'X)//CHAR('44'X)//CHAR('45'X)// &
			  CHAR('53'X)//CHAR('54'X)//CHAR('00'X)//CHAR('00'X))

		! Interfaces
		INTERFACE
  			INTEGER*4 FUNCTION IAToI_AToI($OBJECT, Str, Int)
				USE DFWINTY
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: Str	
				!DEC$ ATTRIBUTES VALUE	:: Str
				INTEGER*4, INTENT(OUT)	:: Int	
				!DEC$ ATTRIBUTES REFERENCE	:: Int
			!DEC$ ATTRIBUTES STDCALL :: IAToI_AToI
			END FUNCTION IAToI_AToI
		END INTERFACE
		POINTER(IAToI_AToI_PTR, IAToI_AToI)	! routine pointer


		! Module Procedures
		CONTAINS
  			INTEGER*4 FUNCTION $IAToI_AToI($OBJECT, Str, Int)
				!DEC$ ATTRIBUTES DLLEXPORT	:: $IAToI_AToI
				IMPLICIT NONE
	
				INTEGER(INT_PTR_KIND()), INTENT(IN)	:: $OBJECT	 ! Object Pointer
				!DEC$ ATTRIBUTES VALUE	:: $OBJECT
				TYPE (VARIANT), INTENT(IN)	:: Str	
				!DEC$ ATTRIBUTES REFERENCE	:: Str
				INTEGER*4, INTENT(OUT)	:: Int	
				!DEC$ ATTRIBUTES REFERENCE	:: Int
				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
				IAToI_AToI_PTR = $VTBL
				$RETURN = IAToI_AToI($OBJECT, Str, Int)
				$IAToI_AToI = $RETURN
			END FUNCTION $IAToI_AToI
	END MODULE
