问题标签 [unmanaged]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
533 浏览

c++ - 如何在非托管 C++ 应用程序中托管许可的 .Net 控件?

我需要在纯非托管 C++ 应用程序中托管和运行托管控件。这该怎么做?

运行未经许可的控件通常很简单:

然而,当使用许可控件时,我们需要以某种方式将 .licx 文件嵌入到项目中(参考应用程序许可)。在非托管 C++ 应用程序中,必要的胶水似乎不起作用。lc.exe 工具应该能够将许可证作为程序集资源嵌入,但是我们没有挥动正确的调用,或者它静默失败。任何帮助,将不胜感激。

0 投票
2 回答
1423 浏览

c# - 是否可以对进行 P/Invoke 调用的类进行单元测试?

我想将一段使用 Windows Impersonation API 的代码包装到一个简洁的小助手类中,并且像往常一样,我正在寻找一种先测试的方法。但是,虽然 WindowsIdentity 是一个托管类,但作为另一个用户实际执行登录所需的 LogonUser 调用是 advapi32.dll 中的非托管函数。

我想我可以通过为我的助手类引入一个接口来使用并在实现中隐藏 P/Invoke 调用来解决这个问题,但是测试该实现仍然是一个问题。并且您可以想象在测试中实际执行模拟可能会有点问题,因为用户实际上需要存在于系统中。

0 投票
4 回答
1316 浏览

c# - 将托管线程上的模拟令牌传递给非托管线程

我有一个 VB.Net winforms 应用程序需要通过网络播放 WMV 文件的情况。运行应用程序的用户无法直接访问网络共享。通过模拟,我可以看到文件存在(没有模拟,File.Exists 为网络共享上的文件返回 false)。然后,当我尝试将文件加载到 Windows Media Player 控件中时,该控件仍然是黑色的。我推断,当 Windows Media Player 控件加载到内存中时,它运行在与 .Net 托管线程不同的非托管线程上。有没有办法将该安全令牌从托管线程传递到非托管线程?我完全错过了什么吗?

0 投票
6 回答
873 浏览

.net - 从非托管代码中使用 DLR

是否可以从非托管代码(如 C++ 或 Delphi)调用托管代码,特别是 IronRuby 或 IronPython?

例如,我们有一个用 Delphi 编写的应用程序正在迁移到 C#.NET 我们想在我们的新应用程序中提供 Ruby 或 Python 脚本来替换 VBSCRIPT。但是,我们需要在旧的 Delphi 应用程序中提供 Ruby/Python 脚本。是否可以从 Delphi 代码中使用 IronRuby/IronPython 提供的托管 dll?

0 投票
8 回答
5454 浏览

c# - 使用 Visual Studio 在 Windows 上混合 C# 代码和非托管 C++ 代码

我想从我的 C# 代码中调用我的非托管 C++ 库。有哪些潜在的陷阱和需要采取的预防措施?感谢您的时间。

0 投票
2 回答
505 浏览

com - 如何确定非托管代码使用的内存量

我正在处理一个大型 COM 库 (ArcObjects),并且我正在尝试查明内存泄漏。
确定非托管代码/对象使用的内存量的最可靠方法是什么。
可以使用哪些性能计数器?

0 投票
2 回答
3032 浏览

c++ - 如何将非托管双精度转换为托管字符串?

从托管 C++ 中,我调用了一个返回双精度的非托管 C++ 方法。如何将此双精度转换为托管字符串?

0 投票
5 回答
7977 浏览

c++ - 非托管 C++ 中的默认打印机

我正在寻找一种方法来使用非托管 C++ 查找 Windows 默认打印机的名称(找到大量 .NET 示例,但没有成功非托管)。谢谢。

0 投票
3 回答
14926 浏览

dll - 将多个原生 DLL 合并为一个 DLL

我有很多小 DLL,我想将它们制作成一个大的(呃)DLL(如这里所建议的那样)。我可以通过合并我的项目来做到这一点,但我想要一种不那么侵入性的方式。

可以将多个 DLL 合并为一个单元吗?

快速搜索发现这个线程声称这是不可能的。还有人知道吗?

请注意,我说的是本机 C++ 代码而不是 .NET,因此 ILMerge 已经出局。

0 投票
4 回答
562 浏览

asp.net - ASP.NET 2.0 应用程序在 Win 2003 上以 IIS 5 隔离模式运行,但不在(默认)IIS 6 模式下运行

该应用程序使用 DLLImport 调用旧版非托管 dll。为了这个问题,我们将这个 dll 称为 Unmanaged.dll。Unmanaged.dll 依赖于其他 5 个旧版 dll。所有旧版 dll 都放在我的 ASP.NET 应用程序的 WebApp/bin/ 目录中。

当 IIS 在 5.0 隔离模式下运行时,应用程序工作正常 - 对旧版 dll 的调用被正确处理。

当 IIS 在默认的 6.0 模式下运行时,应用程序能够启动 Unmanaged.dll (InitMe()),但在稍后调用它 (ProcessString()) 期间会死掉。

我在这里拉头发。我已经将非托管 dll 移动到不同的位置,尝试了各种安全设置,并长期努力地寻找解决方案。帮助!

示例代码:

更新:

带回一堆,取自一个小型转储。似乎是堆栈溢出,但如果有人可以帮助我,我想知道更多。加载了 sos.dll 的 WinDbg 中“kb”的结果: