函数原型: unsigned short GX_GetMessageForWindows(
unsigned short WaitTime,PGX_MESSAGE_INFO pMessageBuffer)
功    能: 获取USB语音盒的事件
参    数: WaitTime 无意义,保留
pMessageBuffer 指向GX_MESSAGE_INFO结构的地址指针,用于存放返回的事件,GX_MESSAGE_INFO的结构定义如下:
typedef struct _GX_MESSAGE_INFO
{
USHORT      MessageCode;
USHORT      ChannelNo;
USHORT      Parameter[6];
} GX_MESSAGE_INFO, *PGX_MESSAGE_INFO;
如果该函数返回0,则表示有事件发生,事件类型以及其它指
示存于上面结构中。
上面是是函数原型
=======================================================
[DllImport("GxUsb.dll")]
public extern static short GX_GetFskCallerID(short ChannelNo, StringBuilder SDateTime, StringBuilder TelNo, StringBuilder Name);
这是C#调用定义
=======================================================
/// <summary>
/// 存放返回事件结构类
/// </summary>
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
public struct GX_MESSAGE_INFO
{
   public ushort MessageCode;
   public UInt16 ChannelNo;
   [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
   public UInt16 Parameter;
   //public int[] Parameter;
}
这是C#中定义的返回事件的结构
====================================================
在进行函数调用时总是报错:无法封送处理类型为“GX_MESSAGE_INFO”的字段“Parameter”: 无效的托管/非托管类型组合(Int16/UInt16 必须与 I2 或 U2 成对出现)。
其中结构中各字段类型我已经试过int,ushort,uint16,uint类型