能力值:
( LV2,RANK:10 )
|
-
-
2 楼
RING3里就用DeviceIoControl 传你说的值.
RING0里PIO_STACK_LOCATION XX=IoGetCurrentIrpStackLocation(..)
再XX->parameters. DeviceIoControl.IoControlCode 拿传下的值.
本人也是新手.不知对不.
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
在DriverEntry里可以把str定义成parameters. DeviceIoControl.IoControlCode吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
DeviceIoControl(hDevice, STR 你在RING3输入的值(怎么把值演变到这里,你自己想),NULL,NULL,NULL,NULL,&lpOutBuffer,0)
WDM
NTSTATUS DriverEntry ( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)
....
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]=DevDispatch;
...
NTSTATUS DevDispatch( IN PDEVICE_OBJECT XXXXX, IN PIRP XXX)
{
PIO_STACK_LOCATION XX=IoGetCurrentIrpStackLocation(XXX);
...
}
XX->parameters. DeviceIoControl.IoControlCode.....就是了.
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
非常感谢saysmy
XX->parameters. DeviceIoControl.IoControlCode
在DevDispatch里写上Iostr(XX)吗?还是把XX值传到DriverEntry里的str呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
如NTSTATUS DevDispatch( IN PDEVICE_OBJECT Device_Object, IN PIRP Irp)
{
PIO_STACK_LOCATION Buffer=IoGetCurrentIrpStackLocation(Irp);
Str=Buffer->parameters. DeviceIoControl.IoControlCode;
就这样了.
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
Iostr(),应该放在哪里呢?DriverEntry里吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]=DevDispatch;
这个没看明白吗?
我的建议是你先去学个言语. 比如C言语.然后再看看WDM,重要是一定要学懂DeviceEntry.
自己一定要想的.
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
saysmy在4楼已经说的很明白了
|
|
|