4

我有一个 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);
4

2 回答 2

6

利用Marshal.GetFunctionPointerForDelegate

于 2009-12-21T08:51:49.240 回答
4

也许Marshal.GetFunctionPointerForDelegate方法可以帮助你。

于 2009-12-21T08:53:16.353 回答