问题标签 [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.
c# - 将托管 (C#) 字符串 [] 数组传递给 COM DLL
设置:
我有一个 COM DLL,它调用托管 C# DLL 中的一个方法。此函数返回一个 C# string[] 数组,该数组被封送为 SAFEARRAY。
问题:
当我尝试访问安全数组中的字符串时,我只得到字符串的第一个字符。我究竟做错了什么?
编码:
谢谢你的帮助,-
肖恩!
.net - IJW:托管代理结构?
我正在将一些 C++ 代码移植到托管 .NET。我需要保留一些原生形式的 C++ 代码,并尝试使用 IJW 方法。我知道可以声明一个非托管结构,以便将其正确编组为 .NET 代码,但 C++ 编译器似乎没有这样做。
例如我有这个代码(托管):
它可以编译,但是当我使用反射器查看它时,代码如下所示:
基本上,MyStruct 中没有任何字段对 .NET 可见。有没有办法告诉 C++ 编译器生成一个?
回答时,请考虑这一点:我知道如何创建一个对 .NET 框架可见的托管类。我对这样做不感兴趣。我想要的是 C++ 编译器以 .NET 可以理解的方式声明非托管结构,例如:
c# - 从托管或衍生进程调用非托管代码
我有一个非托管的 C++ exe,我可以直接从我的 C# 代码内部调用(具有我可以创建一个库的 C++ 代码)或通过生成一个进程并从 OutputStream 中获取数据。选项的优点/缺点是什么?
.net - 将非 CLR 代码链接到 .NET 应用程序
我是 Visual C++、.NET 和 Windows 编程世界(来自 Objective-C/Cocoa)的新手,我正在尝试使用我编译为 .lib 的 CFLite(Open CoreFoundation Lite)库文件。它是用纯非托管 C 语言编写的,我想在我的托管 CLR .NET 应用程序中使用它。当我尝试链接它并使用函数 CFSTR(__CFStringMakeConstantString 的快捷方式)时,它严重失败。有什么建议吗?附上错误。
更新:我最终只使用了带有 Win32 调用的本机应用程序,因为无论如何我的用户界面都将是最小的(它是一个后台应用程序)。我玩了一下 p/invoke,对于像我这样的新手来说,这似乎很复杂:p 谢谢!
.net - 仅在 Vista (.net) 中的问题:从线程调用非托管 dll(Shell32.dll,函数:SHEmptyRecycleBin)
********平台:在 Vista(终极版或家庭/高级版)中它不起作用,其他操作系统(xp、windows7)它起作用***********
我在线程内使用 c++.net(或 c#.net)清空回收站。当我直接(没有线程)这样做时,它可以工作。但如果线程使用它不会。请看下面的代码片段:
这里有什么问题...?
.net - 在 .net 中使用非托管代码
案子:
有一个 .net 应用程序调用非托管 C 代码。为此使用的方法:
它用于 Windows 窗体应用程序,所需的文件名由 OpenFileDialog 获得。代码:
问题:
在 Windows 窗体应用程序中多次执行代码后,openFileDialog 被破坏并出现异常:“试图读取或写入受保护的内存。这通常表明其他内存已损坏。”
在寻找解决方案时:
尝试“更可靠”地使用 OpenFileDialog 并没有帮助。像这个解决方案(试图给出链接,但“新用户不允许添加超链接”:)):
用法 :
问题:
异常真的是由非托管代码引起的吗?是否会出现其他可能的问题(破坏与 OpenFileDialog 不同的东西)?对此有什么更好的方法?
感谢您的每一个想法/解决方案。
c# - 可以从 C# 调用 C++ 代码吗?
是否可以从 .NET 语言(如 C#)中调用 C++ 代码(可能编译为代码库文件 (.dll))?
具体来说,诸如 RakNet 网络库之类的 C++ 代码。
vb.net - 从 VB 调用非托管 DLL
我在查找在 VB.NET 中对非托管 DLL 进行函数调用的语法时遇到了一些麻烦。有人熟悉这个吗?
让我们假设在非托管 DLL“Connector.DLL”中有一个“Connected”函数。我想通过创建一个抽象函数调用来调用这个函数。
我已经看到了一些看起来像的代码
但是这种语法对我不起作用。
c# - 运行“GC.Collect”修复了我的崩溃,但我不明白为什么
我有这段代码(来自诺基亚 PC 连接 3.2 示例代码,用 C# 编写):
如果我GC.Collect()
在开始时运行,那么我不会得到AccessViolationException
. 但除非必要,否则我不想减慢这个功能。我试过GC.Keepalive
在不同的地方放,但没有成功。
CA_FOLDER_INFO
定义为:
在这种情况下,我不需要任何一个字符串,并且将它们的定义更改为IntPtr
似乎会使异常消失。
这里发生了什么,防止异常的正确方法是什么?
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 注释类。