阅读:1110回复:1
散分,在线等待,解决ERROR_INSUFFICIENT_BUFFER返回缓冲区长度与中文字符串冲突问题
请看以下代码,代码功能:返回设备的信息,当我拷贝此代码在BCB中运行时,发现程序总在 if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)的代码体中循环,程序陷入,单步跟踪发现只要是英文信息,可以正确执行下去,但是到有中文信息
则不能正确返回,我在 附:buffer 查看值列表: 1。Programmable interrupt controller 2。System timer 3 。Standard 101/102-Key or Microsoft Natural PS/2 Keyboard 4。打印机 |
|
沙发#
发布于:2003-05-08 17:21
把buffer = (char*)LocalAlloc(LPTR,buffersize);换成
buffer = (char*)LocalAlloc(LHND,buffersize); 试试 |
|