Merhaba,
aşağıda yazılı örnek kodumu csharpa çevrim esnasında hata almıyorum ancak csharp tarafında istediğim değer gelmiyor.
vB.Net kodu :
Public Declare Function HL_ReadMem Lib "HLUSB64.DLL" (ByVal UserCode As Short, ByVal DeviceID As String, ByVal Buffer As String, ByVal Address As Short, ByVal Length As Short) As Integer
.
..
Dim BufferTemp As String
Dim Ret As Short
BufferTemp = Space(224)
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
Ret = HL_ReadMem(UserCode, DeviceID, BufferTemp, 0, 224)
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
If (Ret = 0) Then
MemText.Text = BufferTemp
Else
MsgBox("Read Error: " & Ret, MsgBoxStyle.Critical, "HYPERLOCK")
End If
MemText.Focus()yukarıdaki vb.net kodunda BufferTemp içeriği istenilen veri ile doluyor.
C# Kodu :
[DllImport("hlusb.dll")]
private static extern int HL_ReadMem(int UserCode, string DeviceID, string BufferTemp, int Address, int Length);.
..
string BufferTemp;
BufferTemp = new string(' ', 224);
int Ret,TestResult;
int UserCode=123456;
string DeviceID="987654321";
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
Ret = HL_ReadMem(UserCode, DeviceID, BufferTemp, 0, 224);
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
if (Ret == 0)
{
MessageBox.Show("Güvenlik cihazı okundu.");
memoEdit1.Text=BufferTemp;
MessageBox.Show(BufferTemp);
}
else
{
MessageBox.Show("Güvenlik cihazına erişim sağlanamadı.");
}
Yukarıdaki kodda ise BufferTemp değişkenine cihaza erişim yapmama rağmen veri gelmiyor.
Teşekkürler.