[DllImport("accore.dll", EntryPoint = "?acedNEntSelPEx@@YAHPB_WQAJQANHQAY03NPAPAUresbuf@@IPAH@Z", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)]
private static extern int acedNEntSelPEx2013x32(string prompt, long[] adsname, out Point3d picked, int pickflag, out Matrix3d transform, out IntPtr resbuf, uint transSpaceFlag, out int gsMarker);
[DllImport("accore.dll", EntryPoint = "?acedNEntSelPEx@@YAHPEB_WQEA_JQEANHQEAY03NPEAPEAUresbuf@@IPEA_J@Z", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)]
private static extern int acedNEntSelPEx2013x64(string prompt, long[] adsname, out Point3d picked, int pickflag, out Matrix3d transform, out IntPtr resbuf, uint transSpaceFlag, out int gsMarker);
вызывал так:
if (IntPtr.Size == 4)
result = acedNEntSelPEx2013x32("", adsname, out Picked, pickflag, out Transform, out resbuf, transSpaceFlag, out GSMarker);
else
result = acedNEntSelPEx2013x64("", adsname, out Picked, pickflag, out Transform, out resbuf, transSpaceFlag, out GSMarker);