Мне не удалось найти решение для прямого доступа к глобальной переменной в Cll dll через C #. Но, если у вас есть доступ к исходному коду dll, вы можете добавить функцию доступа к глобальному.
Так что, если в вашей библиотеке C у вас есть:
__declspec(dllexport) extern int EventCount;
Вам нужно будет добавить:
__declspec(dllexport) int __cdecl getEventCount(void);
int __decl getEventCount(void) {
return EventCount;
}
Тогда в вашем коде на C # вам понадобится что-то вроде:
[DllImport("SilverlightApplication37.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern Int32 getEventCount();