C# からのポインターを引数に取る DLL 呼出し
- 題名: C# からのポインターを引数に取る DLL 呼出し
- 著者: Hiro
- 日時: 2010/05/24 17:29:13
- ID: 26864
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Hongliang
- 日時: 2010/05/24 18:06:59
- ID: 26865
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Hiro
- 日時: 2010/05/24 18:46:35
- ID: 26866
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Hongliang
- 日時: 2010/05/24 18:59:48
- ID: 26867
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Azulean
- 日時: 2010/05/24 23:26:05
- ID: 26869
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Hiro
- 日時: 2010/05/24 23:51:55
- ID: 26870
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Hiro
- 日時: 2010/05/25 0:00:33
- ID: 26871
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Hiro
- 日時: 2010/05/25 10:58:13
- ID: 26872
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Azulean
- 日時: 2010/05/25 23:55:55
- ID: 26876
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[6]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Hiro
- 日時: 2010/06/02 12:24:12
- ID: 26902
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[7]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Azulean
- 日時: 2010/06/02 23:46:43
- ID: 26904
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[8]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Hiro
- 日時: 2010/06/03 11:04:29
- ID: 26906
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[9]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Azulean
- 日時: 2010/06/04 7:03:51
- ID: 26907
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[10]: C# からのポインターを引数に取る DLL 呼出し
- 著者: Hiro
- 日時: 2010/06/04 11:39:23
- ID: 26908
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
こんにちは、いつも参考にさせて頂きありがとうございます。
初めての投稿です。 うまくいかず、困っており投稿させて頂きました。
ご教授の程、宜しくお願い致します。
C++から 既存のDLL(ソース無し)を下記のように呼出して正常に動いています。
今回これを C#から呼出そうとしていますが、「 'System.ExecutionEngineException' の例外がスローされました。」のエラーが出ます。
ご教授、宜しくお願いします。
// *** 正常に動作している C++ からの DLL 呼出し ***
typedef void ***Bd;
Bd val = NULL;
extern "C" int func() {
DllFunc( &val );
:
:
}
// *** エラーとなる C# からの呼出しプログラム ***
public Form1() { // フォームからの呼出し
InitializeComponent( );
DllLib lib = new DllLib();
lib.func();
}
unsafe class DllLib {
uint val = 0;
public void func() {
fixed( uint *p = &val ) {
DllDef.DllFunc( p ); // ここで、ExecutionEngineException
}
}
}
class DllDef {
[DllImport("MakerDll.dll")]
public static extern unsafe int DllFunc( uint *val );
}
// *** ここまで ***