C# .net中CloseHandle()winapi调用的参数
当通过.net p/Invoke访问winapi方法CloseHandle()时,参数应该是IntPtr还是HandleRef,以及原因?对其重要性有很好的解释。这与垃圾收集器的正确功能有关。这实际上是您的选择,取决于您如何获得句柄。如果句柄最初嵌入到某个托管对象中,则应使用HandleRef。如果您从其他PInvoke函数获得句柄,而.NET对它们一无所知,请使用IntPtrC# .net中CloseHandle()winapi调用的参数,c#,.net,vb.net,interop,C#,.net,Vb.net,Interop,当通过.net p/Invoke访问winapi方法CloseHandle()时,参数应该是IntPtr还是HandleRef,以及原因?对其重要性有很好的解释。这与垃圾收集器的正确功能有关。这实际上是您的选择,取决于您如何获得句柄。如果句柄最初嵌入到某个托管对象中,则应使用HandleRef。如果您从其他PInvoke函数获得句柄,而.NET对它们一无所知,请使用IntPtr HandleRef的优点是.NET承诺只要HandleRef存在,就可以保持容器对象的活动状态,但随后只将句柄封送到A
HandleRef的优点是.NET承诺只要HandleRef存在,就可以保持容器对象的活动状态,但随后只将句柄封送到API函数。在CloseHandle的特定情况下,这并不重要,因此IntPtr应该可以。然后将问题放入文本中,并制作一个更好的标题。@Guffa-或者您可以编辑问题