首页
社区
课程
招聘
[求助]各位大侠帮解释一下关于内核的代码
发表于: 2009-7-3 16:56 3501

[求助]各位大侠帮解释一下关于内核的代码

2009-7-3 16:56
3501
NTSTATUS
MyCallDriver(
    IN PDEVICE_OBJECT DeviceObject,
    IN OUT PIRP Irp, PDRIVER_DISPATCH Dispatch)
{

    PIO_STACK_LOCATION IrpSp;
    PDRIVER_OBJECT DriverObject;
    NTSTATUS Status;

    Irp->CurrentLocation--;

    IrpSp = IoGetNextIrpStackLocation( Irp );
    Irp->Tail.Overlay.CurrentStackLocation = IrpSp;

   
    IrpSp->DeviceObject = DeviceObject;

    DriverObject = DeviceObject->DriverObject;

        if(Dispatch == NULL){
                Status = DriverObject->MajorFunction[IrpSp->MajorFunction]( DeviceObject, Irp );
        }else{
                Status = Dispatch( DeviceObject, Irp);
        }

    return Status;
}
我想问一下
Status = DriverObject->MajorFunction[IrpSp->MajorFunction]( DeviceObject, Irp );
这一句是怎么意思呀?先谢过各位大侠了

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
类似于回调函数的写法,就是调用某驱动的DispatchRoutine而已,还记不记得派遣函数的原型?这个貌似是山寨IoCallDriver~
2009-7-3 17:07
0
游客
登录 | 注册 方可回帖
返回
//