C#  调用C/C++ dll 问题
C/C++ 
 DWORD _stdcall GetSerialNum
(
	IN HANDLE hCard, 
	OUT BYTE bSerial[NUMLEN] 
);
我写的:
            [DllImport("HS.dll", EntryPoint = "GetSerialNum")]
            public static extern uint GetSerialNum([In]uint handl, [MarshalAs(UnmanagedType.LPArray)] byte[] data);
调用方法:
            byte[] array= new byte[255];
         Common.GetSerialNum(KeyHandle, array);
返回来的array 我用Encoding.Default.GetString(array)转换,拿到的是乱码
------解决方案--------------------试试Encoding.ASCII.GetString(array)
------解决方案--------------------不行的,Encoding.ASCII.GetString(array)转换来的结果是   8个字符
Encoding.Unicode.GetString(array)转换来的结果是
------解决方案--------------------额,不知道怎么发图。。。。不过就是乱码。。。我想就是我传参数的问题了,OUT BYTE bSerial[NUMLEN]  
这应该传什么呢。Byte的定义是typedef unsigned char       BYTE;