Подскажите как импортировать переменную из DLL библиотки?
С методом все понятно.
.method static public hidebysig pinvokeimpl("msvcrt.dll" ansi cdecl)
void modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl) 'free'(void* ) preservesig {}
А как с переменной или структурой?
.field static public void* 'stderr' at ???
Здравствуйте, Аноним, Вы писали:
А>Подскажите как импортировать переменную из DLL библиотки?
Для получения адреса экспортрованной переменной используйте
GetProcAddress, для чтения\записи метод ыкласса
Marshal (ReadXXX, WriteXXX, etc).
Здравствуйте, AlexZu, Вы писали:
AZ>Здравствуйте, Аноним, Вы писали:
А>>Подскажите как импортировать переменную из DLL библиотки?
AZ>Для получения адреса экспортрованной переменной используйте GetProcAddress, для чтения\записи метод ыкласса Marshal (ReadXXX, WriteXXX, etc).
Спасибо, ращитывал что ничего самому делать не дадо
Пробовал экспортировать переменную как функцию, а потом использовать инструкцию "ldftn" для получения адреса, но возвращается зуглущка перехода на функцию а не реальный адрес. Странно что такая возможность не предусмотрена.
Кстати, а почему именно Marshal (ReadXXX, WriteXXX, etc), стандартные инструкци "stind","ldind", не подойдут разве?