只是一个一般性问题,从 WindowsForms 应用程序中获取以下代码:
using System.Runtime.InteropServices;
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x216) // WM_MOVING = 0x216
{
Rectangle rect = (Rectangle) Marshal.PtrToStructure(m.LParam, typeof (Rectangle));
DoSomethingWithRect(rect);
}
base.WndProc(ref m);
}
我是否应该在 DoSomethingWithRect 之后调用 Marshal.DestroyStructure(m.LParam) 以防止内存泄漏?我很乐意得到解释为什么或为什么不。
谢谢。