Здравствуйте.
Есть функция в 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?