版块
论坛
喜欢
话题
应用
搜索
登录
注册
babizhu的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=15340
0xfe0难道有罪吗??关于用ExAllocatePool分配内存的问题
我用Buffer = ExAllocatePool(PagedPool,WriteLen);分配内存,当writelen<4000多字节的时候,就ok,否则,就兰屏谁有经验,帮助解决以下
回复
(
17
)
2002-09-29 10:35
来自版块 -
NDIS网络接口开发
◆
◆
表情
告诉我的粉丝
提 交
babizhu
:
多谢两位兄台援手,问题已经解决,分如数奉上,请笑纳
(2002-09-30 09:57)
回复
gjpland
:
试一下,下面我改的代码。 NTSTATUS PtDispatch( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp ) { PIO_STACK_LOCATION irpStack; NTSTATUS ...
(2002-09-29 19:09)
回复
babizhu
:
1. IoCreateDevice后是否 DeviceObject->Flags |= DO_BUFFER_IO?,当然,否则,,小于0xfe0的数据应该也会非法 2. KeAcquireSpinLock(&BufferLock,&irql); ...
(2002-09-29 17:01)
回复
gjpland
:
逻辑: 看了半天 KeAcquireSpinLock(&BufferLock,&irql); 和 KeReleaseSpinLock(&BufferLock,irql); 之间都是涉及局部变量。为什么要用锁呢?
(2002-09-29 16:31)
回复
gjpland
:
NTSTATUS PtDispatch( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp ) { PIO_STACK_LOCATION irpStack; NTSTATUS status = STA...
(2002-09-29 16:28)
回复
babizhu
:
NTSTATUS PtDispatch( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp ) { PIO_STACK_LOCATION irpStack; NTSTATUS status = STA...
(2002-09-29 16:07)
回复
gjpland
:
我用Buffer = ExAllocatePool(NonPagedPool,WriteLen); 也是同样的错误啊!!! 我该怎么解决,拜托多写两句! 不是拜托我多写两句, 是拜托你多给两行代码看看。
(2002-09-29 15:51)
回复
babizhu
:
我用Buffer = ExAllocatePool(NonPagedPool,WriteLen); 也是同样的错误啊!!! 我该怎么解决,拜托多写两句!
(2002-09-29 15:36)
回复
gjpland
:
哦,准确地说应该是应用地址,感谢楼上的兄弟 IRQL== PASSIVE_LEVEL for PagedPool.
(2002-09-29 14:46)
回复
babizhu
:
我原来就是(!=null)这么用的,出了问题之后,看ddk中的sample就是if (buf)这么用的,就照着改了过来,问题依然存在 现在我都不知道问题出在哪儿了 如果分配内存没有错 有没有可能 DO_BUFFERED_IO方法不支持超过4k字节呢
(2002-09-29 14:23)
回复
1
2
下一页 »
babizhu
加关注
写私信
0
关注
0
粉丝
64
帖子
返回顶部