!
!  ISupportErrorInfo.f90 - This module contains the interfaces of methods 
!  of the ISupportErrorInfo interface
!
!  Generated by the Visual Fortran COM Server Wizard on
!  11/08/00 at 15:04:33.
!
!   DO NOT EDIT THIS FILE!
!
!  This file is re-generated every time the object hierarchy is changed.
!

module ISupportErrorInfo_Methods

    !  These routines get implemented by the user
    interface 
        function ISupportErrorInfo_InterfaceSupportsErrorInfo( ObjectData ,&
                 riid) result (hresult)
            use AToI_Types
            type(AToI_InstanceData) ObjectData
            !dec$ attributes reference :: ObjectData
            TYPE (GUID), intent(in) :: riid
            integer(LONG) hresult
        end function

    end interface

    !  Local definition of SysStringLen
    interface
        PURE INTEGER*4 FUNCTION SysStringLen_Local(bstr);
            !DEC$IF DEFINED(_X86_)
            !DEC$ ATTRIBUTES DEFAULT, STDCALL, ALIAS : '_SysStringLen@' :: SysStringLen_Local
            !DEC$ELSE
            !DEC$ ATTRIBUTES DEFAULT, STDCALL, ALIAS : 'SysStringLen' :: SysStringLen_Local
            !DEC$ENDIF
            USE DFWINTY
            INTEGER(INT_PTR_KIND()), INTENT(IN)    :: bstr
            !DEC$ ATTRIBUTES VALUE              :: bstr
        END FUNCTION SysStringLen_Local
    end interface

  contains

    !  Wrapper functions called from the Vtbl

    function $ISupportErrorInfo_InterfaceSupportsErrorInfo( pInterface ,&
             riid ) result (hresult)
        !DEC$ ATTRIBUTES STDCALL :: $ISupportErrorInfo_InterfaceSupportsErrorInfo
        use AToI_Types
        use dfcom
        implicit none
        type (ISupportErrorInfo_Ptr) pInterface
        !dec$ attributes reference :: pInterface
        TYPE (GUID), intent(in) :: riid 
        !DEC$ ATTRIBUTES reference :: riid 
        integer(LONG) hresult
        integer i
		

        hresult = ISupportErrorInfo_InterfaceSupportsErrorInfo(pInterface % pInternalData % pInstanceData ,&
             riid )
        
        if (hresult < 0) goto 9999
    9999  continue  ! Cleanup code
    end function
end module

