using HANDLE = System.IntPtr;
...
[DllImport("coredll.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool EventModify(HANDLE hEvent, [In, MarshalAs(UnmanagedType.U4)] int dEvent);
Declare Function EventModify Lib "coredll.dll" (TODO) As TODO
private enum EventFlags
{
EVENT_PULSE = 1,
EVENT_RESET = 2,
EVENT_SET = 3
}
Do you know one? Please contribute it!
None.
Please add some!
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using HANDLE = System.IntPtr;
namespace Test
{
class Program
{
[DllImport("coredll.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi, CharSet = CharSet.Auto)]
public static extern HANDLE CreateEvent(HANDLE lpEventAttributes, [In, MarshalAs(UnmanagedType.Bool)] bool bManualReset, [In, MarshalAs(UnmanagedType.Bool)] bool bIntialState, [In, MarshalAs(UnmanagedType.BStr)] string lpName);
[DllImport("coredll.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi, CharSet = CharSet.Auto)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool CloseHandle(HANDLE hObject);
[DllImport("coredll.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool EventModify(HANDLE hEvent, [In, MarshalAs(UnmanagedType.U4)] int dEvent);
public enum EventFlags
{
PULSE = 1,
RESET = 2,
SET = 3
}
private static bool SetEvent(HANDLE hEvent)
{
return EventModify(hEvent, (int)EventFlags.SET);
}
private static bool ResetEvent(HANDLE hEvent)
{
return EventModify(hEvent, (int)EventFlags.RESET);
}
static void Main(string[] args)
{
IntPtr p = CreateEvent(HANDLE.Zero, false, true, string.Empty);
SetEvent(p);
ResetEvent(p);
CloseHandle(p);
}
}
}