Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не передаются параметры из управляемого кода в неуправляемый / 2 сообщений из 2, страница 1 из 1
29.04.2015, 21:27
    #38949076
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передаются параметры из управляемого кода в неуправляемый
Неуправляемый код загружает шарповую сборку и вызывает CallFunct передавая указатель на одну из своих неуправляемых функций.
Потом из шарпового кода вызывается эта функция и передается текстовая строка, вызов приходит но текстовая строка пустая.
Почему так происходит?


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.Winapi)]
         public delegate string NativeDelegate(string par);
         public static NativeDelegate function;

          unsafe public string CallFunct(int adress)
         {
             function = (NativeDelegate)Marshal.GetDelegateForFunctionPointer((IntPtr)adress, typeof(NativeDelegate));
             string tst = function("hello");
             return tst + "_callFunct" ;
         }
...
Рейтинг: 0 / 0
29.04.2015, 22:44
    #38949108
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не передаются параметры из управляемого кода в неуправляемый
Сам разобрался, нужно вот так делегат описать

Код: c#
1.
public delegate string NativeDelegate( [MarshalAs(UnmanagedType.AnsiBStr)] string par);
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Не передаются параметры из управляемого кода в неуправляемый / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]