我在控制码里面用的是METHOD_BUFFERED然后呢还是先看看我的代码吧 驱动:在PtRegisterDevice里面: SystemAddr=ExAllocatePool(NonPagedPool,1024); Mdl=IoAllocateMdl(SystemAddr,10...
全文
回复(10) 2008-08-01 10:06 来自版块 - NDIS网络接口开发
表情
vipfengxiao好帖子 我也在做这个 我的实在驱动给共享内存拷贝时蓝屏 还没有解决(2010-03-13 10:04)
zhaock调用BOOL bRet=::DeviceIoControl(hFile,IOCTL_GET_SHAREMEMORY,NULL,0,(PVOID)&psharememory,sizeof(PVOID),&dwTranferLen,NULL); 后hFile就改变了吗...(2008-08-04 09:26)
shdaianita问题已经解决了,先回顾一下我的问题:在发送IOCTL_GET_SHAREMEMORY控制码时候,会改变原先的hFile和m_Event_ICMP的值 我是这样解决的: 在驱动层处理IOCTL_GET_SHAREMEMORY控制码的时候加了一个异常处理: case IOC...(2008-08-02 10:27)
shdaianita真的很感谢版主 原来的的错误已经没有了,又遇到新的问题了,学习驱动真的坎坷啊 再次感谢版主,赞一个 现在新的问题是这样的,不知道我的代码又是哪边出错了,我在vs2005下面调试,发现只要执行 BOOL bRet=::DeviceIoControl(hFile,IOCTL_...(2008-08-01 21:55)
zhaock1.改成4后什么错误? 2.你的理解还是有问题,内存是内核中分配的,应用程序就不需要分配了 PVOID pShareMemory; BOOL bRet=::DeviceIoControl(hFile,IOCTL_GET_SHAREMEMORY,NULL,0,(PVOID)&...(2008-08-01 20:34)
shdaianita还有一个问题,请帮个忙 刚才版主说 :*((PVOID *)pIrp->AssociatedIrp.SystemBuffer)=UserAddr,含义只是把UserAddr这个四字节的值传回到应用程序 那么我在应用程序中,pShareMemory的值就是UserAddr...(2008-08-01 17:20)
shdaianita我把createfile中的0改成了:FILE_SHARE_READ | FILE_SHARE_WRITE 就不蓝屏了 出现异常错误 (windows 报错) 改成4还是报错 我调试一下 pOutBuffer返回的前4个字节为0 剩下的是随机乱码 是什么问题呢? ...(2008-08-01 15:14)
zhaockpOutBufferLen应该是4,按照你的代码strlen算出来是0,当然不对了.改成4再测试一下(2008-08-01 14:36)
shdaianita谢谢斑竹 可是现在老蓝屏 是这样改的: 驱动: *((PVOID *)(pIrp->AssociatedIrp.SystemBuffer))=UserAddr 应用层: char pOutBuffer[100]={0}; DWORD pOutBuf...(2008-08-01 13:32)
zhaock1.我看网上都是:*((PVOID *)pIrp->AssociatedIrp.SystemBuffer)=UserAddr这句,干嘛用两个*号,直接(PVOID)pIrp->AssociatedIrp.SystemBuffer=UserAddr不行吗?而且我这样用两...(2008-08-01 11:59)

返回顶部