Впорос про маршалинг
От: Аноним  
Дата: 14.10.10 06:21
Оценка:
Здравствуйте.

Есть функция в dll:
LRESULT WINAPI SendMessage(
  __in  HWND hWnd,
  __in  UINT Msg,
  __in  WPARAM wParam,
  __in  LPARAM lParam
);

Я ее описываю как
[DllImport("User32")]
public static extern int SendMessage(IntPtr hWnd, int msg, int flag, ref MYSTRUCT lParam);

где MYSTRUCT — некая структура (вопрос не о ней), вопрос о выделенном (параметр flag).

WPARAM в Си — это по платформенно-зависимый тип int (32 бит на x86 и 64 на x64).
Вопрос: правильно ли выделенное или обязательно нужно указывать IntPtr для параметра flag (wParam), а в коде уже приводить свой int к IntPtr?

тот же вопрос касается возвращаемогоо значения: Си функция возвращает по сути IntPtr — могу ли я описывать ее как возвращающую int?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.