阅读:1420回复:14
DeviceIOControl的奇怪问题???
我自己定义了ioctl-IOCTL_USBKBD_GET_DATA,在应用程序中调用时,( !DeviceIoControl( hUsbKbd, IOCTL_USBKBD_GET_DATA, Info,sizeof(Info) ,descriptors, sizeof(descriptors),&BytesReturned, NULL))返回值是对的,可是,descriptors中的内容却是空的,而我在驱动程序中调试时,
Irp->AssociatedIrp.SystemBuffer中的内容是正确的。 请问大虾这是怎么回事? |
|
沙发#
发布于:2002-10-23 13:45
请大虾出手斑竹帮忙!
|
|
板凳#
发布于:2002-10-23 16:25
descriptors是什么类型的?是结构还是指向结构的指针?
|
|
|
地板#
发布于:2002-10-23 16:36
descriptors是字节型数组
|
|
地下室#
发布于:2002-10-23 16:43
那sizeof(descriptors)的调试值是多少?
|
|
|
5楼#
发布于:2002-10-23 17:09
我定义descriptors是BYTE descriptors[8],sizeof(descriptors)是8。我调试时发现驱动一级的数据还是正确的,但不知为什么到应用程序就不正确
|
|
6楼#
发布于:2002-10-23 23:53
在驱动里设置Irp->Information。
|
|
|
7楼#
发布于:2002-10-24 08:51
楼上的兄弟,能详细的讲一下吗?
|
|
|
8楼#
发布于:2002-10-24 09:32
LitteSW 老兄,值为0
|
|
9楼#
发布于:2002-10-24 09:40
Irp->Information是告诉Windows有多少字节的数据要从kernel拷贝到app的内存。
|
|
|
10楼#
发布于:2002-10-24 09:45
我重新看了那个程序,发现irp的返回值为成功
|
|
11楼#
发布于:2002-10-24 09:47
斑竹:谢谢援手,我是不是应该在判断是否成功后置
Irp->IoStatus.Information?我这么做了,还是不行。 |
|
12楼#
发布于:2002-10-24 10:06
通了,谢谢大家
|
|
13楼#
发布于:2002-10-24 10:30
给大家散分啊?
不用给我,我不需要分的. :) |
|
|
14楼#
发布于:2002-10-24 10:34
遵命,金玉良言,岂有不加分之理,既然是斑竹,就稍稍意思一下了
|
|