如何进入非托管 C++来自我的 C++/CLI 代码的库
我的解决方案中有以下三个项目: 1.C#库 2. C++/CLI 托管代码 3. C++ 非托管代码 我确实在我的 C# 项目中选中了“启用非托管代码调试”,并在 Debug/W…
Marshal.ReadInt32 等与不安全上下文和指针有何不同?
特别是:元帅安全吗?指针更快吗? int pixel = Marshal.ReadInt32(bitmapData.Scan0, x * 4 + y * bitmapData.Stride); int pixel = ((int*)bitmapDa…
C# 中的 WinAPI 书籍
我正在寻找一本教您 C# 中 winapi 的“书”,例如 win32 编程和 winapi 的基础知识。 教您如何在 C# 中使用非托管代码。 从.net调用win32函数到其他正…
.NET Framework 在多大程度上依赖于 Windows API?
我知道一些 .NET Framework 库 (FCL) 包装了 Windows API 调用,但我不知道有多少。全部吗?大部分?只有一点点吗? 假设我仅使用托管代码用 C# 编写…
在 64 位 .NET 应用程序中使用 32 位非托管 COM 服务器
我需要在 64 位 .NET 应用程序中使用 32 位非托管 COM 服务器。 我做了一些研究,似乎找到了一个合适的解决方案:在 COM+ 服务器应用程序中托管 COM …
包装原生 C++ .dll 中具有多个输出的函数,以便在 C# 中使用
我将一些本机 C++ 代码包装在 C++/CLI .dll 中,以便在 .NET 项目中使用 - 主要是 C#。通话数量会很大,因此我希望以有效的方式做到这一点。我包装的…
从非托管代码中释放托管内存分配
我想在托管代码中执行Marshal.AllocHGlobal,用数据填充它,并将该内存块传递给非托管(C++)代码,然后由非托管代码负责释放它。 在幕后,Marshal.Al…
从托管项目加载时,如何单步执行非托管 DLL 中的方法? (视觉 C++/C#)
我有一个包含 3 个项目的 Visual Studio 2010 解决方案。第一个是我用一些 DLL 导出编写的非托管 DLL 项目 (C++)。第二个项目是第一个项目的托管包装…
.NET System::String 转 UTF8 字节存储在 char* 中
我正在 .NET 项目中包装一些非托管 C++ 代码。为此,我需要将 System::String 转换为存储在 char* 中的 UTF8 字节。 我不确定这是否是最好的甚至是正…
ASP.NET Web 服务使用 P/Invoke 调用非托管代码。多个webservice请求之间会不会出现内存问题?
有一个 ASP.NET Web 服务,每次调用 Web 服务时都会执行 LoadLibrary() 调用来加载非托管 .dll,然后 P/Invokes 非托管 .dll 中的许多函数。 ASP.NET …
将 intPtr 添加到 int 在 .net Framework 3.5 上生成错误
我有这个代码: lvItem.pszText = (IntPtr)(lpRemoteBuffer + Marshal.SizeOf(typeof(LV_ITEM))); 它在 4.0 上运行良好。 如果我将项目降级到 3.5,它…
如何通过引用修改该字符串的非托管 C 库来发送字符串?
我是与非托管库交互的新手。我有一个非托管 C 函数,它通过函数内的引用修改字符串。我在从 C# 传递字符串并通过 C 函数修改它时遇到问题。 这是 C 函…
原生 C++ dll/C#内存问题
我遇到此错误 附加信息:尝试读取或写入受保护的内存。这通常表明其他内存已损坏。 你知道为什么吗?我真的被困住了... 我的代码: Native c++ extern…