ilasm, импорт переменных из DLL
От: Аноним  
Дата: 21.02.07 21:17
Оценка:
Подскажите как импортировать переменную из 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 ???
Re: ilasm, импорт переменных из DLL
От: AlexZu Россия  
Дата: 22.02.07 12:22
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Подскажите как импортировать переменную из DLL библиотки?


Для получения адреса экспортрованной переменной используйте GetProcAddress, для чтения\записи метод ыкласса Marshal (ReadXXX, WriteXXX, etc).
Re[2]: ilasm, импорт переменных из DLL
От: Аноним  
Дата: 22.02.07 19:38
Оценка: :)
Здравствуйте, AlexZu, Вы писали:

AZ>Здравствуйте, Аноним, Вы писали:


А>>Подскажите как импортировать переменную из DLL библиотки?


AZ>Для получения адреса экспортрованной переменной используйте GetProcAddress, для чтения\записи метод ыкласса Marshal (ReadXXX, WriteXXX, etc).


Спасибо, ращитывал что ничего самому делать не дадо

Пробовал экспортировать переменную как функцию, а потом использовать инструкцию "ldftn" для получения адреса, но возвращается зуглущка перехода на функцию а не реальный адрес. Странно что такая возможность не предусмотрена.

Кстати, а почему именно Marshal (ReadXXX, WriteXXX, etc), стандартные инструкци "stind","ldind", не подойдут разве?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.