I am using Philip MfRc500.dll to communicate with RFID chips. It contains a function for reading data, which is defined as follows:
signed char Mf500PiccRead(unsigned char addr, unsigned char * data)
I use it in VB.NET as follows:
Private Declare Function RFID_PiccRead Lib "MfRc500.dll" Alias "_Mf500PiccRead@8" (ByVal addr As UShort, ByRef value As Long) As Short
and then wrapper:
Public Function PiccRead(ByVal addr As UShort, ByRef value As Long) As Short
Return RFID_PiccRead(addr, value)
End Function
The second parameter in the Mf500PiccRead function can return a "16-byte data block", so my long data type is too small. If I use byte () instead of long, then I get ExecutionEngineException Exception.
What type of data should I use and how?
source
share