c# - 在托管代码中使用 win32

标签 c# wpf winapi

我已经使用 WPF 几年了,除了托管代码,我没有任何经验。我开始编写一个使用大量 win32 互操作的应用程序,我开始怀疑我是在泄漏内存还是在做一些我不知道的愚蠢事情……所以我想我会寻求一些建议!

在托管代码中使用 win32 调用时是否有任何陷阱/提示/技巧? 我最感兴趣的是内存/垃圾收集,但欢迎任何其他提示!

最佳答案

没有陷阱。您释放了您分配的所有资源(除非文档表明您进行的调用接管了资源,从而使您摆脱了所有权),仅此而已。 GC根本不进入。

作为提示,System.Runtime.InteropServices.SafeHandle 是使用 Win32 句柄 RAII 样式的常用助手类。

关于c# - 在托管代码中使用 win32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1100647/

相关文章:

c - 如何在不使用 select() 的情况下在特定套接字和特定端口上超时?

c# - C# .NET 是否支持 IDispatch 后期绑定(bind)?

c# - 在 C# 中序列化和反序列化表达式树

wpf - WPF Sub-MenuItem在左侧而不是右侧打开

c# - 如何在没有 Winforms 的情况下使用 ClassLibrary 中的 ActiveX 组件

c# - 仅在 XAML 中将装饰器放置在数据模板上?

C++ 动态线程

c# - 如何将选择的存储过程映射到 EF 3.5 中的实体?

C# EF 代码首先部署到 Godaddy

c++ - 如何获取窗口的可执行文件名