版块
论坛
喜欢
话题
应用
搜索
登录
注册
shdaianita的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=194532
关于共享内存的若干问题,概念问题,详细代码贴出来了,再请版主来看下啊
我在控制码里面用的是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)
回复
zhaock
:
1.改成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)
回复
zhaock
:
pOutBufferLen应该是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)
回复
zhaock
:
1.我看网上都是:*((PVOID *)pIrp->AssociatedIrp.SystemBuffer)=UserAddr这句,干嘛用两个*号,直接(PVOID)pIrp->AssociatedIrp.SystemBuffer=UserAddr不行吗?而且我这样用两...
(2008-08-01 11:59)
回复
shdaianita
加关注
写私信
0
关注
0
粉丝
24
帖子
返回顶部