Я программист C , и не представить с родной.
Создание родного DLL
Ответ на: "Создание родного DLL"
Количество ответов:2
Если вы хотите обрабатывать Родные события в вашем коде C , то я думаю, что лучше всего написать C '/CLI DLL, который будет работать в качестве промежуточного слоя между C ' Родные DLL и C ' DLL. Таким образом, вы можете обрабатывать события в промежуточной библиотеке и передавать их, чтобы быть захвачены снова управляемых DLL.
Еще один вариант заключается в том, чтобы написать свой родной DLL как COM DLL и поднять COM Диспетчерские события оттуда. Создавая Интероп этого COM DLL, вы можете запечатлеть события непосредственно в вашем C'DLL. Но этот маршрут имеет очень крутой кривой обучения, если вы являются новыми для COM программирования.
Если API вашего родного DLL позволяет зарегистрировать указатель функции в качестве обратного вызова, который будет вызываться при поднятии события, вы можете маршал нормального делегата C ' в качестве указателя функции ( Marshal.GetFunctionPointerForDelegate
) and just register the managed delegate via P/Invoke. ) и просто зарегистрировать управляемого делегата через P / Invoke.