我正在使用来自C++ dll的函数,该函数返回我需要的事件的句柄。我以前没有使用过句柄,我在进入实际事件时遇到了一些麻烦。我像这样导入它:
[DllImport("Some.dll")]
private static extern IntPtr eventCapturedCreate(int argument);
到目前为止,我尝试过的任何事情都没有成功。我的一般方法是使用Marshal.PtrToStructure,但我不确定要指定哪种类型。
任何见解将不胜感激。
不要将事件句柄转换为结构。这是一个不透明的值。事件句柄被传递给其他函数,这些函数将句柄作为参数接收,例如SetEvent
、ResetEvent
、WaitForSingleObject
等。
跟踪IntPtr
中的句柄值,并将该值传递给需要事件句柄的任何其他函数。