一般的な質問として、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) を呼び出す必要がありますか? 理由または理由について説明をいただければ幸いです。
ありがとう。