日期:2014-05-19  浏览次数:21171 次

如何将LPVOID转换为C#数据类型?
我想调用一个API,它有一个参数是[out]型   LPVOID   lpbuf。
使用C#如何得到lpbuf的内容呢?
最好有代码。

------解决方案--------------------
byte[] vBuffer = new byte[dwSize];
IntPtr vAddress = Marshal.ReadIntPtr(lpstr); //怀疑lpstr是指针的指针,这样测试一下
Marshal.Copy(vAddress, vBuffer, 0, dwSize);

还原字符串的时候还需要根据具体编码,如:
Text = Encoding.Default.GetString(vBuffer);