ofe*_*fer 12 c# events interop
我想从C#创建一个内核(也称为命名事件).
我是否必须互操作服务并包装本机CreateEvent函数,或者是否已经有一个.NET类来完成这项工作?
我需要运行的函数应该是这样的:hEvent = CreateEvent(NULL,false,false,"MyCSHARPEvent");
这应该通知所有关于事件的探测myMHARPEvent的过程.
如果需要包装函数,我如何将SECURITY_ATTRIBUTES结构从C#转换为win32?
如果您仍想使用互操作,可以像这样定义函数:
[DllImport("kernel32.dll")]
static extern IntPtr CreateEvent(IntPtr lpEventAttributes, bool bManualReset, bool bInitialState, string lpName);
Run Code Online (Sandbox Code Playgroud)
和这样的结构(你可能不得不使用Pack属性来使它适合):
[StructLayout(LayoutKind.Sequential)]
struct SECURITY_ATTRIBUTES{
public int length;
public IntPtr securityDesc;
public bool inherit;
}
Run Code Online (Sandbox Code Playgroud)
此外,这是一个将所有内容放在一起的代码示例.
归档时间: |
|
查看次数: |
12792 次 |
最近记录: |