正确的P / Invoke函数签名

时间:2013-04-01 11:56:01

标签: c# c++ c#-4.0 c#-3.0

以下是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 个答案:

没有答案