1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Прошу помочь.Подключение Dll на неуправляемом С/С++

Тема в разделе ".NET - программирование", создана пользователем evilden, 12 июл 2010.

  1. evilden

    evilden Гость

    Репутация:
    0
    Возникла проблема.Есть рабочая dll, необходимо подключить к CLR приложению.
    Подключение происходит нормально. Все функции работают нормально кроме одной(хотя dll проверял все работает в обычных Win32 приложениях).Данная функция производит загрузку из файла если файл не найден-возвращает код ошибки,т.е. все нормально.Но если файл находит(путь указан точный) то происходит ошибка исключение "System.AccessViolationException" попытка записи в защищенную память. способы вызова:

    1)[DllImport("C__Work_.DLL")]
    extern "C" int LoadIn(DWORD*name_);
    2)а также с помощью GetModuleFileName и GetProcAddress

    результат тот же замечу еще раз-другие функции работают нормально.

    Вызыв происходит
    int ret;
    String^ name=(String^)"D:\\file.hex";
    либо
    DWORD*name;
    name=(DWORD*)"D:\\file.hex";
    и
    ret=LoadIn(name);
    результат один и тот же. В win32 приложении первый вариант вызова работал нормально. name как видно выше является указателем на строку содержащую путь к файлу.
    Интересно еще то что когда функция не находит файл(указывается неверный путь к файлу), возвращается int значение -1 (файл не найден) и все,то есть функция работает правильно, ошибок не возникает.Ошибка "System.AccessViolationException" возникает ТОЛЬКО в случае указателя на существующий файл,содержимое которого функция копирует.
     
Загрузка...
Похожие Темы - Прошу помочь Подключение
  1. Hemenede
    Ответов:
    2
    Просмотров:
    616
  2. Skellar
    Ответов:
    10
    Просмотров:
    6.261
  3. webwareroot
    Ответов:
    2
    Просмотров:
    433
  4. Gandliar
    Ответов:
    12
    Просмотров:
    1.115
  5. virusksv
    Ответов:
    2
    Просмотров:
    1.296

Поделиться этой страницей