我用 RtlCopyMemory(&Des[0],&Source[0], count * sizeof(StructType))从Irp传递的参数中拷贝数据到驱动程序中申请的内存, 但只有第一个StructType中数据是正确的,其他的都不对! 但我用 循环的方式...
全文
回复(8) 2002-05-27 12:57 来自版块 - 内核编程
表情
AllenZh没有什么,使用一种东西习惯了自然好事, 可要是使用别的可就成了坏是了,我也有同感,我使用DDK习惯了昨天开始装了DriverStudio进去什么都是新的,又得学习(2002-05-29 14:17)
DeltaSoft问题终于解决。 靠, 犯聊一个超级低级错误,定义数据组指针出错。 Delphi用惯聊,使用C++就是会混淆。 谢谢各位, 虽然大家没有直接指出错误,但大家给聊我信心,才让我解决聊这个问题, 谢谢(2002-05-28 22:22)
arthurtu期待结果。(2002-05-28 18:44)
DeltaSoft如果是对齐原因造成的话,那 循环的方式一个一个地明确地拷贝( Desc[i].xxxx = Source[i].xxxx) 就应该不正确了,但事实上却是对的, 是不是很奇怪? 今晚我再拭一次,并将结果贴上来。(2002-05-28 17:56)
arthurtu在定义struct的时候, 最好是对齐。如 dword a; dword b; int c; int d; bool e; 不要 dword a; bool e; int c; dword b; ... 在从app到sys时,由于VC优化,会做些事情,就...(2002-05-28 12:23)
AllenZh肯定是你其他地方有问题, RtlCopyMemory(&Des[0],&Source[0], count* sizeof(StructType)) ;是正确的, 我刚刚测试了,不过结构类型为RECT,count 为4即, RtlCopyMemory(&am...(2002-05-28 10:29)
DeltaSoft在Win32程序,Driver程序我都测试国,都是count * sizeof(StructType) = 96 Byte(2002-05-27 23:32)
AllenZhcount * sizeof(StructType)是否等于你的大小(96字节)(2002-05-27 13:25)

返回顶部