私はいくつかのDLLファイルを持っています。これは、名前が "ABSDefaultCallback"であるいくつかのメソッドを含んでいます。だから私はこのようにこのメソッドを割り当てます。C#でアドレスを取得する方法は、delegeteからですか?
IntPtr hMod = LoadLibrary("bsgui.dll");
IntPtr pAddr = GetProcAddress(hMod, "ABSDefaultCallback");
op.Callback = pAddr;
完璧に動作します。しかし、私は "ABSDefaultCallback"を除いて "コールバック"という名前の私自身のメソッドを呼び出したい。私はこのようなことをやろうとしています。
DELEGATE_TestFunc fred = new DELEGATE_TestFunc(Callback);
void* pfred = Marshal.GetFunctionPointerForDelegate(fred).ToPointer();
op.Callback = (IntPtr)pfred;
しかし、これは完全には機能しません。私の問題を解決するには?ありがとうございました。
おそらく呼び出し規則を。実行時にカスタムデリゲートを発行するか、ILで作成する必要があります。 – leppie