P/invoke - как вытащить из native DLL указатель в managed?
От: ktin  
Дата: 07.04.06 07:31
Оценка:
Задача, которую решаю — dll-ка на native, которая работает с памятью и программа на c#, которая этим делом управляет.

как в прогу на c# (managed, конечно же) вытащить указатель на память(unmanaged) для того, чтобы дальше его использовать для передачи в параметрах функции, которая будет импортирована из той самой dll-ки?

или, может быть можно сделать это каким то другим способом?
если да — подскажите, пожалуйста!
Re: P/invoke - как вытащить из native DLL указатель в manage
От: Mab Россия http://shade.msu.ru/~mab
Дата: 07.04.06 07:34
Оценка:
Здравствуйте, ktin, Вы писали:

K>как в прогу на c# (managed, конечно же) вытащить указатель на память(unmanaged) для того, чтобы дальше его использовать для передачи в параметрах функции, которая будет импортирована из той самой dll-ки?

Объяви его как IntPtr и используй на здоровье.
Re[2]: P/invoke - как вытащить из native DLL указатель в man
От: ktin  
Дата: 07.04.06 07:48
Оценка:
Здравствуйте, Mab, Вы писали:
K>>как в прогу на c# (managed, конечно же) вытащить указатель на память(unmanaged) для того, чтобы дальше его использовать для передачи в параметрах функции, которая будет импортирована из той самой dll-ки?
Mab>Объяви его как IntPtr и используй на здоровье.

Спасибо! то что нужно!

В dll-ке сделал:
DDD_API int getby(int* r){ ... }

а в c#:
w = new IntPtr();
int m=getby(w);

и все заработало.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.