我想从C#中创建一个内核(也称为命名事件)。
我是否需要与Interop服务打交道并封装本地CreateEvent函数,还是已经有一个.NET类来完成这项工作?
我需要运行的函数应该像这样: hEvent = CreateEvent(NULL, false, false, "MyCSHARPEvent");
这应该会通知所有探测"MyCSHARPEvent"事件的进程。
如果需要封装函数,我将如何将SECURITY_ATTRIBUTES结构体从C#翻译成win32?
[DllImport("kernel32.dll")]
static extern IntPtr CreateEvent(IntPtr lpEventAttributes, bool bManualReset, bool bInitialState, string lpName);
[StructLayout(LayoutKind.Sequential)]
struct SECURITY_ATTRIBUTES{
public int length;
public IntPtr securityDesc;
public bool inherit;
}