Mol(Math Object Library) fot .Net
ロードした DLL 内に定義されている関数の名前 name を検索してその関数ハンドルを返します。
検索した関数を呼び出すためには、以下のようにします。
以下の例ではネイティブ DLL 内(UserNative.Dll)で NativeTest(string st, int v) が定義されているものとします。
NativeTest()関数の宣言方法等の詳細はサンプルプログラムや、 C のヘッダーファイル Mol.h を参照してください。
| コードをコピー |
---|
using System.Runtime.InteropServices;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int NativeTest(string st, int v);
public void Test()
{
NativeDll dll = new NativeDll("UserNative.Dll");
IntPtr ip = dll.GetFunctionPtr("NativeTest");
NativeTest func = (NativeTest)Marshal.GetDelegateForFunctionPointer(ip, typeof(NativeTest));
int i = func("This is a test です", 2);
} |
名前空間: Molアッセンブリー: Mol.Net (in Mol.Net.dll)
構文
C# |
---|
public IntPtr GetFunctionPtr(
string name
) |
Visual Basic |
---|
Public Function GetFunctionPtr (
name As String
) As IntPtr |
Visual C++ |
---|
public:
IntPtr GetFunctionPtr(
String^ name
) |
|
---|
member GetFunctionPtr :
name : string -> IntPtr
|
Return Value
タイプ:
IntPtr関数ハンドル
参照