2011-02-10 15 views
0

C#からメソッドを呼び出すために、unsigned char **をマーシャリングしようとしています。Marshal unsigned char ** in c#

私はここで、C++

extern "C" 
{ 
    __declspec(dllexport) void ConvertToByte(char *filename,unsigned char** data) 

    { 
     char temp[100]; 
     sprintf(temp,filename); 
     BITMAPINFO *info; 
     *data=(unsigned char *)LoadDIBitmap(temp, &info); 
    } 

とからのdllexportが、私は結果として、ここからバイト[]のデータ(画像)を取りたいDLLIMPORT

[DllImport("bmpToByte.dll", CharSet = CharSet.Ansi,CallingConvention = CallingConvention.Cdecl)] 
     public static extern void ConvertToByte(string pame, byte[] data); 

であることを確認してください。 しかし、私はそれを取ることができません。

答えて

1

なしには動作しません
[DllImport("bmpToByte.dll", CharSet = CharSet.Ansi,CallingConvention = CallingConvention.Cdecl)] 
    public static extern void ConvertToByte(string pame, ref byte[] data); 
+0

自分を試していない、REFを使用してみてください –

関連する問題