My VB.NET 2017 windows forms app needs to interface to Visual-C++ DLL (also VS2017) function Read_Parameters() that takes two arguments: board# and pointer to a parameter array of 256 elements, where each parameter is an unsigned short. How do I declare matching VB.NET pointer to unsigned short table?
VISUAL-C++ DECLARATION:
int Read_Parameters(unsigned char board, unsigned short *params)
{
...
return something;
}
CORRESPONDING VB.NET DECLARATION
<DllImport("MuseDll.dll")>
Public Shared Function test_Read_Parameters(ByVal board As Byte, ByVal params As UShort()) As Int32
End Function
VB.NET CODE....
Private Sub Button_test_main_board_Click(sender As Object, e As EventArgs) Handles Button_test_main_board.Click
Dim return_status As Int32
Dim board_index As Byte
Dim parameter_table(256) As UShort
parameter_table(0) = 2
board_index = 1
return_status = main_board_interface.NativeMethods.test_Read_Parameters( board_index, parameter_table)
If return_status = 513 Then
TextBox_main_board_comm.Text &= "test_return_int return OK =" & return_status & vbCrLf
Else
TextBox_main_board_comm.Text &= "test_return_int return FAULT!! = " & return_status & vbCrLf
Return
End If
return_status SHOULD BE 513 BUT IS A DIFFERENT LARGE # EACH TIME