我想用.net调用openssl,有如下函数static int GeneratePrivateKey(BYTE *bpPriKey,int *ipPriKeyLen);想使用C++ Interop的方法,请问怎么声明为C#调用的?我是这样声明的,可是不对
static System::Int32 GeneratePrivateKey(System::Byte^ strPriKey, System::Int32^ ipPriKeyLen);
应该怎么写呢?

解决方案 »

  1.   

    static System::Int32 GeneratePrivateKey(System::Byte^ strPriKey, System::Int32^ ipPriKeyLen);这个是C++.NET不是C#关于C#中的DLLImport 
    http://www.cnblogs.com/KissKnife/archive/2006/11/04/549990.html[DllImport("xxx.dll")]
    static int GeneratePrivateKey(byte[] bpPriKey,ref int ipPriKeyLen);
      

  2.   

    [DllImport("xxx.dll")]
    static int GeneratePrivateKey(byte[] bpPriKey,ref int ipPriKeyLen);
      

  3.   

    但是我的dll不是遵循com的,不能DllImport
      

  4.   

    你搞错了, com的才是不能 dllimport