c# - 如何从 C# 中的 dll 导入访问/编码 char *变量

标签 c# .net c++ interop com-interop


我需要从 win32 dll 访问功能,因为我在 C# 代码中使用 [dllimport]。


我需要使用 [dllimport] 为以下 C++ 方法创建什么确切的方法签名

void GetGeneratedKey(char *code, int len, char *key)

请帮忙。

谢谢
nRk

最佳答案

这在很大程度上取决于 native C 函数中变量 keycode 发生的情况。根据签名,我猜测 code 正在被读取并且 key 正在被写入。如果是这种情况,请尝试以下签名

[DllImport("SomeDll")]
public static extern void GetGeneratedKey(
  [In] string code,
  [In] int length,
  StringBuilder key);

关于c# - 如何从 C# 中的 dll 导入访问/编码 char *变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2336144/

相关文章:

c# - 通过 Interop/pinvoke 传递 C# 回调函数

c# - 什么是 System.Reflection.RuntimePropertyInfo 以及如何比较它?

c# - Entity Framework 核心 : self referencing FK column value being replaced with `NULL`

c# - 如何将字符串设置为枚举变量?

c++ - 可以搜索相同成本的值和键的 map ?对称 map ?

c++ - 是否可以针对使用的类设置重载 operator+ 的优先级?

c# - 多线程冲突

.net - 插件内的 CEFSharp - "Cannot pass a GCHandle across AppDomains"

c# - 无法在c#中启动资源管理器进程,只能启动窗口文件资源管理器

c++ - 无法访问静态元对象