In VB.NET non puoi memorizzare un puntatore a funzione in un Integer, devi usare un delegate.
codice:
Public Delegate Sub ProgressCallback(ByVal Percentage_Done As Integer)
Private Declare Function Decompress Lib "library.dll" (ByVal Input_File As String, ByVal Output_File As String, ByRef Percentage_Done As Integer, ByVal Progress_Callback_Function As ProgressCallback) As Integer
'...
Private Sub Progress_Callback_Function (ByVal Percentage_Done As Integer)
' fa qualcosa...
End Sub
'...
intero = Decompress("nomefile.ext","nomefile2.ext",percentuale,AddressOf Progress_Callback_Function)