Mol(Math Object Library) fot .Net

The NativeDll type exposes the following members.

メソッド

  名前説明
Public methodDispose
IDisposable インターフェースメンバ。Windows API の FreeLibrary() を呼び出してロードしたモジュールをアンロードします。 メモリー資源は当然ながらガベージコレクションによって解放されますが、いつ解法されるかはわかりません。 以後、完全に使用しないと判明したオブジェクトは Dispose() を呼び出して積極的に資源を解法することをお勧めします。
(Overrides _Mol..::..Dispose()()()().)
Public methodGetFunctionPtr
ロードした 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);
}

参照