Обертка c # и проблема с защищенной памятью - PullRequest
0 голосов
/ 19 марта 2010

Итак, теперь я получил почти работающую оболочку.
Другие сообщения, касающиеся моих проблем с оболочкой:
Оболочка C # и обратные вызовы &
Обертка C #массив из трех указателей

Я использую обертку, чтобы установить соединение с Dallmeier, используя следующее:

_dallmeier.SessionHandle = DallmeierSDK.dlm_connect(_handle, _ip, "", _pass, null, null, connectionCallback, pInPut)  

Возвращает обработчик сеанса.Через некоторое время я получаю AccessVoilationException о попытке чтения или записи защищенной памяти.

Я думаю, что это как-то связано с использованием Marshal.Read и / или Marshal.Copy (как указано в одном из постов выше), но я не уверен, где я использую эти команды.

Может, кто-нибудь посоветует мне это и / или примеры?

1 Ответ

1 голос
/ 15 июня 2010

возможно, вы можете попробовать обернуть ваш код в блок fixed, чтобы предотвратить перемещение указателя в памяти или сбор GC.

...