Imports System
Imports System.Runtime.InteropServices
Imports System.Text

Namespace BoxedAppPackerAPI
    Class NativeMethods
        <DllImport("bxpackerapi32.dll", SetLastError:=True, CharSet:=CharSet.Ansi)> _
        Public Shared Sub BoxedAppPackerAPI_SetContext( _
        ByVal code As String)
        End Sub

        <DllImport("bxpackerapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Public Shared Function BoxedAppPackerAPI_CompileProjectFile( _
        ByVal Path As String) As IntPtr
        End Function

        <DllImport("bxpackerapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Public Shared Function BoxedAppPackerAPI_CompileFromXML( _
        ByVal Configuration As String) As IntPtr
        End Function

        <DllImport("bxpackerapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Public Shared Function BoxedAppPackerAPI_UpdateIcon( _
        ByVal EXEPath As String, ByVal IconPath As String) As IntPtr
        End Function

        <DllImport("bxpackerapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Public Shared Function BoxedAppPackerAPI_CreateVersionBlock() As IntPtr
        End Function

        <DllImport("bxpackerapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Public Shared Sub BoxedAppPackerAPI_DestroyVersionBlock(hBlock As IntPtr)
        End Sub

        <DllImport("bxpackerapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Public Shared Sub BoxedAppPackerAPI_VersionBlock_SetValue( _
        hBlock As IntPtr, Name As String, Value As String)
        End Sub

        <DllImport("bxpackerapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Public Shared Sub BoxedAppPackerAPI_VersionBlock_SetVersion( _
        hBlock As IntPtr, v1 As Int16, v2 As Int16, v3 As Int16, v4 As Int16)
        End Sub

        <DllImport("bxpackerapi32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
        Public Shared Sub BoxedAppPackerAPI_UpdateVersionInfo( _
        Path As String, hBlock As IntPtr)
        End Sub
    End Class
End Namespace
