指向C#中非托管代码的函数的指针

时间:2009-12-21 08:46:23

标签: c# callback pinvoke intptr

我有一个dll,它接受一个包含指向函数的指针的结构来进行回调。

如何将IntPtr作为我的应用程序的函数来构建结构?

    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
    public class OPERATION {
        public uint OperationID;
        public IntPtr Context;  
        public IntPtr Callback; -> How to pass this?
    }

这是接受OPERATION结构的委托

public delegate void MY_CALLBACK([In] OPERATION operation, [In] uint msgId, [In] IntPtr msgDataPtr);

2 个答案:

答案 0 :(得分:6)

答案 1 :(得分:4)

也许Marshal.GetFunctionPointerForDelegate方法可能对您有帮助。