I have to translate this code in VB6 in C#:
Declare Function OpenEvent Lib "kernel32.d ll" Alias "OpenEventA " _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal lpName As String) _
As Long
Declare Function SetEvent Lib "kernel32.d ll" _
(ByVal hEvent As Long) _
As Long
Public Const EVENT_MODIFY_ST ATE As Long = 2
Private Sub sendTrap()
Dim sdsTrap As Long
sdsTrap = OpenEvent(EVENT _MODIFY_STATE, 0, "_sdsTrapEvent" )
If sdsTrap <> 0 Then
SetEvent(sdsTra p)
End If
End Sub
I tried this:
public const int EVENT_MODIFY_ST ATE = 2;
[DllImport("KERN EL32.DLL", EntryPoint="Ope nEventA")]
private static extern long OpenEvent
(
long dwDesiredAccess ,
long bInheritHandle,
[MarshalAs(Unman agedType.LPStr)] string lpName
);
[DllImport("KERN EL32.DLL")]
private static extern bool SetEvent
(
long hEvent
);
public void sendTrap()
{
long sdsTrap;
sdsTrap = OpenEvent(EVENT _MODIFY_STATE, 0, "_sdsTrapEvent" );
if (sdsTrap != 0)
{
SetEvent (sdsTrap);
}
}
The OpenEvent seems to be ok, but the SetEvent fails (I tested and it
returns false).
How could I do this?
Thanks in advance, Gionni
Declare Function OpenEvent Lib "kernel32.d ll" Alias "OpenEventA " _
(ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
ByVal lpName As String) _
As Long
Declare Function SetEvent Lib "kernel32.d ll" _
(ByVal hEvent As Long) _
As Long
Public Const EVENT_MODIFY_ST ATE As Long = 2
Private Sub sendTrap()
Dim sdsTrap As Long
sdsTrap = OpenEvent(EVENT _MODIFY_STATE, 0, "_sdsTrapEvent" )
If sdsTrap <> 0 Then
SetEvent(sdsTra p)
End If
End Sub
I tried this:
public const int EVENT_MODIFY_ST ATE = 2;
[DllImport("KERN EL32.DLL", EntryPoint="Ope nEventA")]
private static extern long OpenEvent
(
long dwDesiredAccess ,
long bInheritHandle,
[MarshalAs(Unman agedType.LPStr)] string lpName
);
[DllImport("KERN EL32.DLL")]
private static extern bool SetEvent
(
long hEvent
);
public void sendTrap()
{
long sdsTrap;
sdsTrap = OpenEvent(EVENT _MODIFY_STATE, 0, "_sdsTrapEvent" );
if (sdsTrap != 0)
{
SetEvent (sdsTrap);
}
}
The OpenEvent seems to be ok, but the SetEvent fails (I tested and it
returns false).
How could I do this?
Thanks in advance, Gionni
Comment