如何从 C# 中的 dll 导入访问/编组 char *变量
我需要访问 win32 dll 的功能,因为我在 C# 代码中使用 [dllimport]。
我需要使用 [dllimport] 为以下 C++ 方法创建什么确切的方法签名
void GetGeneratedKey(char *code, int len, char *key)
请帮忙。
谢谢
nRk
I need to access functionality from win32 dll , for that I am using [dllimport] in C# code.
what exact method signature i need to create with [dllimport] for the following c++ methods
void GetGeneratedKey(char *code, int len, char *key)
pls help in this.
Thanks
nRk
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这很大程度上取决于原生 C 函数中变量
key
和code
发生的情况。根据签名,我猜测正在读取code
并写入key
。如果是这种情况,请尝试以下签名This depends highly on what is happening to the variables
key
andcode
in the native C function. Based on the signature I am guessing thatcode
is being read from andkey
is being written to. If that is the case then try the following signature只需使用
字符串
。应该只是工作。Just use
string
. Should just work.大家的快速回复和支持
我使用了像下面的
VC++ 方法签名这样的方法签名
void GetGenerateKey(char *code, int len, char *key)
C# 签名
[DllImport("SomeDll")]
公共静态 extern void GetGenerateKey(byte[] code, int len, bute key);
nRk
everybody for the quick reply and support
I used method signature like the below
VC++ method signature
void GetGeneratedKey(char *code, int len, char *key)
C# signature
[DllImport("SomeDll")]
public static extern void GetGeneratedKey(byte[] code, int len, bute key);
nRk
这是我针对非托管案例的解决方案。
C++
C#
Here is my solution for Unmanaged case.
C++
C#