rendered paste bodySystem.Runtime.InteropServices.MarshalDirectiveException: Can not marshal 'parameter #3': Pointers can not reference marshaled structures. Use byref instead.
at (wrapper managed-to-native) PaintDotNet.SystemLayer.SafeNativeMethods:GetRegionData (intptr,uint,PaintDotNet.SystemLayer.NativeStructs/RGNDATA*)
[DllImport("Gdi32.dll", SetLastError = true)]
internal unsafe static extern uint GetRegionData(
IntPtr hRgn, // handle to region
uint dwCount, // size of region data buffer
NativeStructs.RGNDATA *lpRgnData // region data buffer
);
[StructLayout(LayoutKind.Sequential)]
internal struct RGNDATA
{
internal RGNDATAHEADER rdh;
internal unsafe static RECT *GetRectsPointer(RGNDATA *me)
{
return (RECT *)((byte *)me + sizeof(RGNDATAHEADER));
}
}