我用ds开发驱动,在内核和应用之间共享内存,在内核分配内存,并写入数据,再从应用程序读出,其他都正常,就是在应用程序读取数据时,总是前4096字节的数据不正确,而后面的都正确!不知为什么??我用的时KMemory::MapToUserSpace() 希望高手们不吝赐教...
全文
回复(28) 2002-08-06 11:26 来自版块 - 内核编程
表情
zhangchunxiarifter: m_pBuffer 是在device 对象里的 成员变量, 声明如下: PUCHAR m_pBuffer;(2002-08-15 19:53)
rifterrifter: 另外:pBuffer是什么呢,这样就改写了ReadFile()中pBuf指针吗? 在该处是指针还是引用,不会是引用吧? 都是指针没有引用,你有什么高见吗? 谢谢!各位的回答 想知道呢pBuffer事怎么定义的,在什么地方定义的(2002-08-15 12:38)
zhangchunxiarifter: 另外:pBuffer是什么呢,这样就改写了ReadFile()中pBuf指针吗? 在该处是指针还是引用,不会是引用吧? 都是指针没有引用,你有什么高见吗? 谢谢!各位的回答(2002-08-15 10:46)
zhangchunxia那内存岂不要丢失,况且要多申请多少?岂不浪费!(2002-08-15 10:42)
mask2000[quote][quote][quote][quote]因为不用driverwork,就不敢乱说了。 但是m_pBuffer= m_pBuffer&0xfffff000;//keep 4k align是很奇怪的。 靠,搞错了一下。因该是这样。 m_pBuffe...(2002-08-14 14:37)
rifter[quote][quote][quote]因为不用driverwork,就不敢乱说了。 但是m_pBuffer= m_pBuffer&0xfffff000;//keep 4k align是很奇怪的。 靠,搞错了一下。因该是这样。 m_pBuffer= m_pB...(2002-08-14 14:22)
mask2000[quote][quote]因为不用driverwork,就不敢乱说了。 但是m_pBuffer= m_pBuffer&0xfffff000;//keep 4k align是很奇怪的。 靠,搞错了一下。因该是这样。 m_pBuffer= m_pBuffer&a...(2002-08-14 14:05)
arthurtu对呀。奇怪的。(2002-08-14 13:55)
rifter[quote]因为不用driverwork,就不敢乱说了。 但是m_pBuffer= m_pBuffer&0xfffff000;//keep 4k align是很奇怪的。 靠,搞错了一下。因该是这样。 m_pBuffer= m_pBuffer&0xff...(2002-08-14 13:50)
yanghui不错,这行代码有问题,编译器也给出了错误,类型不匹配,左操作数m_pBuffer是unsigned char *,而0xfffff000是整型(2002-08-14 13:38)

返回顶部