pinvoke- все статьи тега


p / вызов 32-разрядной библиотеки dll из программы C#, запущенной на машине x64

У меня есть программа на C#, которую я компилирую со всеми настройками по умолчанию на компьютере x64. Я хочу вызвать библиотеку DLL, которая, как я знаю, является 32-разрядной (неуправляемой) библиотекой DLL C++. Я могу заставить это работать, когда моя программа C# работает на 32-разрядной машине, но не на 64-разрядной машине. Как я могу указать в вызове DllImport, что я вызываю 32-разрядную dll? Пример того, что у меня есть сейчас: [DllImport("test32bitdll.dll", SetLastError=true)] pub ...

Отладка библиотеки DLL VC++ 6, вызванной из C#

У меня есть старая DLL, написанная в Visual Studio 6, которую я вызываю из C#, написанной в Visual Studio 2010. Библиотека DLL не работает должным образом, и я хочу отладить ее. Как я могу это сделать? У меня есть проект исходного кода, но я не вижу, как я могу войти в него. Примечание: когда я говорю "не работает", вызов DLL завершается успешно, и он проходит небольшой путь через код в DLL, прежде чем потерпеть неудачу, но я хочу точно отследить, где именно. ...

Прямой доступ к памяти библиотеки DLL C++ в C#

Я искал stackoverflow для этой проблемы, но не нашел этого точного. В частности, я нашел массу вопросов, касающихся извлечения ссылок на строки C++ (char**), когда сторона C# управляет памятью, но не наоборот. Ситуация выглядит следующим образом. У меня есть DLL (написанная на VC++ 2012), которую я написал сам. Он загружает и анализирует данные из файлов, а затем позволяет любому, кто использует DLL доступ к этим данным (фактический прямой доступ к памяти по соображениям производительности) в н ...

Получение системы Windows ошибка код название/описание от его шестнадцатиричное число

Я путаюсь с некоторыми функциями windows, используя p / invoke. Иногда я получаю код ошибки, который не является ERROR_SUCCESS (такое странное имя). Есть ли способ посмотреть их в программе? Например, если я получу ошибку 1017. Могу ли я сказать пользователю Система попыталась загрузить или восстановить файл в реестре, но указанный файл не находится в формат файла реестра. (ERROR_NOT_REGISTRY_FILE: 0x3F9) Вместо Код Ошибки: 1017 ...

"Была сделана попытка загрузить программу, имеющую неверный формат", даже если платформы одинаковые

Я вызываю функции из 32-разрядной неуправляемой DLL на 64-разрядной системе. Что я получаю это: BadImageFormatException: была сделана попытка загрузить программу с неверным форматом. (Исключение из HRESULT: 0x8007000B) сначала у меня были свои проекты, настроенные на любую платформу процессора, поэтому я изменил их на x86, но эта ошибка все еще происходит. Это действительно единственное исправление, которое я знаю для этого. библиотеки DLL не повреждены или что-то еще, потому что я могу и ...

Как удалить свернуть и развернуть из изменяемого размера окна в WPF?

WPF не предоставляет возможность иметь окно, которое позволяет изменять размер, но не имеет кнопок максимизации или минимизации. Я хотел бы сделать такое окно, чтобы у меня были диалоговые окна с возможностью изменения размера. Я знаю, что решение будет означать использование pinvoke, но я не уверен, что называть и как. Обыск pinvoke.net не оказалось ничего, что выскочило на меня, как то, что мне нужно, в основном я уверен, потому что Windows Forms предоставляет CanMinimize и CanMaximize свойст ...

Как вызвать C++ / CLI из C#?

У меня есть класс, реализованный на C++, который отвечает за арифметические вычисления программы, и интерфейс с использованием WPF. Я обрабатываю входные данные с помощью C# , но тогда как я могу использовать свой класс C++? Я видел некоторые комментарии о создании управляемого класса оболочки C++ для взаимодействия с ним, но я не знаю, с чего начать. И я не знаю, как бы я пошел, чтобы скомпилировать его вместе со всем другим кодом. Я не могу найти учебник по этому вопросу, и Google показывает ...

использование класса, определенного в библиотеке dll c++ в коде c#

У меня есть dll, которая была написана на c++, мне нужно использовать эту dll в моем коде c#. После поиска я обнаружил, что использование P/Invoke даст мне доступ к нужной мне функции, но эти функции определены в классе и используют нестатические частные переменные-члены. Поэтому мне нужно иметь возможность создать экземпляр этого класса, чтобы правильно использовать функции. Как я могу получить доступ к этому классу, чтобы создать экземпляр? Я не смог найти способ сделать это. Я думаю, Я долж ...