你应该在C#代码中使用指针吗?有什么好处?它是由The Man(微软)推荐的吗?
我正在使用一些非托管代码,它将指针(IntPtr)返回给大图像对象.我使用引用但在完成图像后,我需要释放指针引用的内存.目前,唯一释放内存的是关闭我的整个应用程序.我需要能够从我的应用程序中释放内存.
这是对内存的分配的调用. hbitmap是返回的指针,需要取消分配.
[DllImport("twain_32.dll", EntryPoint = "#1")]
public static extern TwainResult DsImageTransfer(
[In, Out] Identity origin, [In] Identity dest, DataGroup dg,
DataArgumentType dat, Message msg, ref IntPtr hbitmap);
Run Code Online (Sandbox Code Playgroud) 如何释放ptrSentFromPinvokedDLL?
IntPtr ptrSentFromPinvokedDLL= IntPtr.Zero;
int resultFromVendor = CallVendorDll(ref ptrSentFromPinvokedDLL);
resultFromVendor = DoMoreWorkFromVendorDLL(
ptrSentFromPinvokedDLL, "workonthis");
// Free ptrSentFromPinvokedDLLhere
Run Code Online (Sandbox Code Playgroud)