您的位置:首页 > 其它

创建IRP传递给驱动的派遣函数的一些方法

2011-02-15 13:11 218 查看
创建IRP

IoBuildSynchronousFsdRequest

创建同步IRP

IoBuildAsynchronouseFsdRequest

创建异步IRP

类型: IRP_MJ_PNP , IRP_MJ_READ , IRP_MJ_WRITE , IRP_MJ_FLUSH_BUFFERS , IRP_MJ_SHUTDOWN

IoBuildDeviceIoControlRequest

创建同步IRP

类型: IRP_MJ_INTERNAL_DEVICE_CONTROL , IRP_MJ_DEVICE_CONTROL

以上3个函数是调用此函数实现的,系统自动删除IRP,而此函数需要手动调用IoFreeIrp删除IRP

IoAllocateIrp

创建任意类型IRP

派遣IRP

IoCallDriver

步骤:

获得设备对象指针(非句柄)

创建IRP

构造IRP的I/O堆栈

调用IoCallDriver内核函数,内部会调用派遣函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: