创建从C#
问题描述:
Win32的事件,我想创建一个从C#内核(又名命名事件)。创建从C#
我一定要互操作的服务和包裹本地CreateEvent函数或者是已经存在的.NET类,没有工作?
我需要运行的函数应该是这样的: hEvent = CreateEvent(NULL,false,false,“MyCSHARPEvent”);
这应该通知探测forMyCSHARPEvent有关该事件的所有特效。
如果有需要包装的功能,我将如何转换从C#中的SECURITY_ATTRIBUTES结构支持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;
}
另外,这里是把他们放在一起的code example。
但是,你为什么? – ctacke 2009-01-15 17:04:12