问题标签 [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 回答
1498 浏览

c# - 将托管 (C#) 字符串 [] 数组传递给 COM DLL

设置:
我有一个 COM DLL,它调用托管 C# DLL 中的一个方法。此函数返回一个 C# string[] 数组,该数组被封送为 SAFEARRAY。

问题:
当我尝试访问安全数组中的字符串时,我只得到字符串的第一个字符。我究竟做错了什么?

编码:

谢谢你的帮助,-
肖恩!

0 投票
2 回答
449 浏览

.net - IJW:托管代理结构?

我正在将一些 C++ 代码移植到托管 .NET。我需要保留一些原生形式的 C++ 代码,并尝试使用 IJW 方法。我知道可以声明一个非托管结构,以便将其正确编组为 .NET 代码,但 C++ 编译器似乎没有这样做。

例如我有这个代码(托管):

它可以编译,但是当我使用反射器查看它时,代码如下所示:

基本上,MyStruct 中没有任何字段对 .NET 可见。有没有办法告诉 C++ 编译器生成一个?

回答时,请考虑这一点:我知道如何创建一个对 .NET 框架可见的托管类。我对这样做不感兴趣。我想要的是 C++ 编译器以 .NET 可以理解的方式声明非托管结构,例如:

0 投票
5 回答
875 浏览

c# - 从托管或衍生进程调用非托管代码

我有一个非托管的 C++ exe,我可以直接从我的 C# 代码内部调用(具有我可以创建一个库的 C++ 代码)或通过生成一个进程并从 OutputStream 中获取数据。选项的优点/缺点是什么?

0 投票
3 回答
1780 浏览

.net - 将非 CLR 代码链接到 .NET 应用程序

我是 Visual C++、.NET 和 Windows 编程世界(来自 Objective-C/Cocoa)的新手,我正在尝试使用我编译为 .lib 的 CFLite(Open CoreFoundation Lite)库文件。它是用纯非托管 C 语言编写的,我想在我的托管 CLR .NET 应用程序中使用它。当我尝试链接它并使用函数 CFSTR(__CFStringMakeConstantString 的快捷方式)时,它严重失败。有什么建议吗?附上错误。

更新:我最终只使用了带有 Win32 调用的本机应用程序,因为无论如何我的用户界面都将是最小的(它是一个后台应用程序)。我玩了一下 p/invoke,对于像我这样的新手来说,这似乎很复杂:p 谢谢!

0 投票
4 回答
799 浏览

.net - 仅在 Vista (.net) 中的问题:从线程调用非托管 dll(Shell32.dll,函数:SHEmptyRecycleBin)

********平台:在 Vista(终极版或家庭/高级版)中它不起作用,其他操作系统(xp、windows7)它起作用***********

我在线程内使用 c++.net(或 c#.net)清空回收站。当我直接(没有线程)这样做时,它可以工作。但如果线程使用它不会。请看下面的代码片段:

这里有什么问题...?

0 投票
2 回答
1495 浏览

.net - 在 .net 中使用非托管代码

案子:

有一个 .net 应用程序调用非托管 C 代码。为此使用的方法:

它用于 Windows 窗体应用程序,所需的文件名由 OpenFileDialog 获得。代码:

问题:

在 Windows 窗体应用程序中多次执行代码后,openFileDialog 被破坏并出现异常:“试图读取或写入受保护的内存。这通常表明其他内存已损坏。”

在寻找解决方案时:

尝试“更可靠”地使用 OpenFileDialog 并没有帮助。像这个解决方案(试图给出链接,但“新用户不允许添加超链接”:)):

用法 :

问题:

异常真的是由非托管代码引起的吗?是否会出现其他可能的问题(破坏与 OpenFileDialog 不同的东西)?对此有什么更好的方法?

感谢您的每一个想法/解决方案。

0 投票
7 回答
106865 浏览

c# - 可以从 C# 调用 C++ 代码吗?

是否可以从 .NET 语言(如 C#)中调用 C++ 代码(可能编译为代码库文件 (.dll))?

具体来说,诸如 RakNet 网络库之类的 C++ 代码。

0 投票
3 回答
3586 浏览

vb.net - 从 VB 调用非托管 DLL

我在查找在 VB.NET 中对非托管 DLL 进行函数调用的语法时遇到了一些麻烦。有人熟悉这个吗?

让我们假设在非托管 DLL“Connector.DLL”中有一个“Connected”函数。我想通过创建一个抽象函数调用来调用这个函数。

我已经看到了一些看起来像的代码

但是这种语法对我不起作用。

0 投票
4 回答
532 浏览

c# - 运行“GC.Collect”修复了我的崩溃,但我不明白为什么

我有这段代码(来自诺基亚 PC 连接 3.2 示例代码,用 C# 编写):

如果我GC.Collect()在开始时运行,那么我不会得到AccessViolationException. 但除非必要,否则我不想减慢这个功能。我试过GC.Keepalive在不同的地方放,但没有成功。

CA_FOLDER_INFO定义为:

在这种情况下,我不需要任何一个字符串,并且将它们的定义更改为IntPtr似乎会使异常消失。

这里发生了什么,防止异常的正确方法是什么?

0 投票
3 回答
20605 浏览

spring - 自动装配使用 @Component 注释的非托管 Bean

我想使用@AutoWired 将配置有@Component 的非托管bean 注入托管bean。我很确定我的配置是正确的,但由于某种原因,我不断收到异常:

根据错误,我猜它无法找到 Baz 类,但我不知道为什么。我的理解是 XML 配置中的 context:spring-configured 元素应该允许我这样做。我还确保包含适当的 jar 文件(spring-weaving.jar 和 aspectjweaver.jar)。

这是我设置的一个简单示例。

我的 XML 配置:

我有一个托管 bean:

还有一个非托管 bean:

有什么我想念的吗?

编辑:日志列出了它实例化的 bean,而 foo.Baz 不是其中之一。我不知道为什么它没有选择 @Component 注释类。