阅读:955回复:1
怎样分配一个带有额外堆栈单元的IRP?
还是在 oney书中,“完成I/O请求”一章中。讲有关“何时调用IoMarkIrpPending”时,提到:
驱动程序通常做的是分配一个带有额外堆栈单元的IRP,在第一个单元中设置DeviceObject指针,在调用IoSetCompletionRoutine和IoCallDriver前用IoSetNextIrpStackLocation函数跳过那个额外堆栈单元。如果你这样做,那么在完成例程中调用IoMarkIrpPending将不会出现问题,并且完成例程也能得到了一个有效的设备对象。 用哪个函数创建这个额外的堆栈单元呢? 请给一个有关的程序片 |
|
沙发#
发布于:2007-08-16 16:38
同求答案,这地方我也没看懂
|
|