阅读:1449回复:6
上下层通信的问题
有没有人遇到字符串传递出错的问题?
我的上层程序定期通过DeviceIOControl函数传递缓冲区指针,底层设备驱动向缓冲区填入字符串,但上层程序获得的字符串却与底层设备驱动填入的不一致(仅仅是字符串中的一两个,三四个字符),这是为什么? |
|
最新喜欢:txysp |
沙发#
发布于:2002-10-15 10:20
指针加长度!
长度对不对? |
|
板凳#
发布于:2002-10-15 10:24
肯定不是长度原因,因为是在中间出错
|
|
地板#
发布于:2002-10-15 14:18
对齐方式不一致
|
|
地下室#
发布于:2002-10-16 11:28
对齐方式不一致 不明白你的意思。而且得到的字符串大部分是正确的,只有中间一两个,三四个明显不对。 我是在底层驱动中截获浏览器发送的get数据包,解析出主机名,然后上层程序再定期取这些主机名的。 |
|
5楼#
发布于:2002-10-16 17:37
内核与程序通信的时候,传输的数据长度要是4的整数倍,
不然会出错!所以你定义结构的时候要注意。 告诉你多少遍了,就是不听,唉,真是的 :) 开玩笑! |
|
6楼#
发布于:2002-10-17 17:03
1 内存使用之前首先应该清零
2 内存地址对齐问题。 |
|