c # — правильная подпись функции P / Invoke

Ниже приведено объявление функции c ++

typedef long (CALLBACK* PAMSGETMSGW)(char *,char *,q_address *, short *, short *, short *, short *, long *, long *, struct PSB *, struct show_buffer *, long *, char *, char *, char * );

Я создал следующую декларацию в C #

[DllImport(@"C:\Program Files\Oracle\Oracle MessageQ\bin\DmqCl32.dll")]
public static extern int pams_get_msgw(byte[] msg_area, ref byte priority, out q_address source,
out short clas, out short type,
ref short msg_area_len, out short len_data, ref int timeout,
ref int sel_filter, out PSB psb, out ShowBuffer show_buffer,
ref int show_buffer_len, ref int large_area_len, out int large_size,
[MarshalAs(UnmanagedType.LPStr)] string nullarg_3);

Я прав ?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …