我有2个C++ DLL.其中一个包含以下功能:
void init(const unsigned char* initData, const unsigned char* key)
Run Code Online (Sandbox Code Playgroud)
另一个包含此功能:
BYTE* encrypt(BYTE *inOut, UINT inputSize, BYTE *secretKey, UINT secretKeySize).
Run Code Online (Sandbox Code Playgroud)
有没有办法从C#中调用这两个函数?我知道你可以在C#中使用[DllImport]来调用C++函数,但指针给我带来了困难.
任何帮助,将不胜感激!
是的,您可以从C#中调用这两个,假设它们包含在extern"C"部分中.我不能给你一个详细的PInvoke签名,因为我没有足够的信息来说明各种参数是如何相关的,但以下内容是可行的.
[DllImport("yourdllName.dll")]
public static extern void init(IntPtr initData, IntPtr key);
[DllImport("yourdllName.dll")]
public static extern IntPtr encrpyt(IntPtr inout, unsigned inuputSize, IntPtr key, unsigned secretKeySize);
Run Code Online (Sandbox Code Playgroud)
允许我们创建更好签名的信息
| 归档时间: |
|
| 查看次数: |
2366 次 |
| 最近记录: |