首页
社区
课程
招聘
[求助]驱动中取值问题
发表于: 2010-1-14 12:53 4005

[求助]驱动中取值问题

2010-1-14 12:53
4005
push    0                                ; /pOverlapped = NULL
push    eax                              ; |pBytesReturned
push    0                                ; |OutBufferSize = 0
push    0                                ; |OutBuffer = NULL
lea     ecx, dword ptr [esp+18]          ; |
push    4                                ; |InBufferSize = 4
push    ecx                              ; |InBuffer
push    222013                           ; |IoControlCode =

222013push    esi                              ; |hDevice
mov     dword ptr [esp+24], 4            ; |
call    dword ptr [<&KERNEL32.DeviceIoCo>; \DeviceIoControl

请问在驱动中怎样得到 pBytesReturned 的值!
有类似这种的吗?
InBuffer=
pIoStackIrp->Parameters.DeviceIoControl.Type3InputBuffer

谢谢!

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
2
iostatus->information或overlapped->internalhigh

参考DeviceIoControl的实现
2010-1-14 13:00
0
雪    币: 166
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢!非常感谢!
2010-1-14 13:04
0
雪    币: 109
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
这个参数就是实际的返回值,,IRP里的information 存的就是这个值了。
2010-1-14 14:32
0
雪    币: 166
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
只要有输入,输入什么可以由自己定吧 !
2010-1-15 12:05
0
雪    币: 166
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
因为刚刚接触编程和驱动!但我发现DeviceIoControl
这个函数功能很大!利用它传入什么都行!似乎什么都能干!
2010-1-15 13:16
0
雪    币: 109
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
输入什么内容当然是可以自己定了,不过你说的那个返回的是实际输出的字节数。OutBufferSize这个是你期待的大小。
有时读文件读到未了,你却期待10字节,但是它实际返回的却是0/。
就是说你在驱动内部设置了infortion这个值,他返回的就是这个值。
2010-1-15 13:18
0
游客
登录 | 注册 方可回帖
返回
//