コールバックを登録するためにthirdpartyライブラリ登録関数を使用することが困難です。私はC++のCLIで書いていて、CやC++で書かれたライブラリにアクセスしています。C3374:デリゲートインスタンスを作成しない限り 'function'のアドレスを取得できません
上記のコンパイラエラーは何を意味しますか?
ベンダーによって定義されるように、これは登録機能である:
MYCO int WINAPI MyCo_Device_Register_CallbackFunc(LPVOID func, LPVOID lpParam, DWORD mask);
ベンダーによって定義されるように、これはコールバックです:
typedef void (CALLBACK* MyCo_Device_CallbackProc)(DWORD ddStatus, LPVOID lpParam);
私のコールバック関数:
public ref class Device
{
void CallBackFunc(DWORD ddStatus, LPVOID lpParam) {};
}
私の電話(失敗):
MyCo_Device_Register_CallbackFunc((LPVOID) Device::CallBackFunc, nullptr, 0xFFFF);
複製を使用することができ、クラスのメンバー
すべきではない。 http://stackoverflow.com/questions/822526/how-do-i-register-a-callback-in-ac-library-from-my-cli-wrapper – lothar
その質問は削除されました – MedicineMan
私は自分の答えを広げました下方に。 – Promit