Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Маршалинг параметров функций


Автор: sashara 30.12.2008, 12:13
Итак,

Код

struct s1
{
int a;
int b;
}

typedef s1 s1; // Определяем тип данных этой структуры


Прототипы функций в *.h - файле

Код

void func1(s1      **struct1);  // struct1 помечен как Out

void func2(const s1 *struct1);  // Влияет ли модификатор const хоть на что-то ?

void func3(unsigned char    *tMsg,unsigned int      tMsgSize );  // tMsg помечен как Out, tMsgSize - его размер до вызова функции

void func4(unsigned int     *tMsgLen);  // tMsgLen помечен как Out



Как правильно маршалить параметры этих функций ?

Язык С#

Автор: MaxWave 30.12.2008, 21:22
http://msdn.microsoft.com/en-us/library/ms235282(VS.80).aspx

http://msdn.microsoft.com/ru-ru/library/zah6xy75.aspx

Автор: sashara 31.12.2008, 08:44
По ссылкам выше я уже все прочитал.

Мне нужны конкретно мои примеры(4 функции) , т.к. я не нашел как их правильно маршалить smile 

Автор: jonie 31.12.2008, 09:15
Цитата

[code=цпп]
void func2(const s1 *struct1);  // Влияет ли модификатор const хоть на что-то ?
[/code]
с точки зрения С++ влияет... c# пу до фонаря... просто указание на константность указателя....
вот еслиб было так:
Код

void func2(const s1*const struct1); 
тогда в c# пологаю был бы ref ...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)