IoSetCompletionRoutine宏注册一个IO完成例程,这个完成例程将会在调用此函数的驱动的下一层驱动完成IRP指定的操作请求时被调用。
void IoSetCompletionRoutine(
IN PIRP Irp,
IN PIO_COMPLETION_ROUTINE CompletionRoutine,
IN PVOID Context,
IN BOOLEAN InvokeOnSuccess,
IN BOOLEAN InvokeOnError,
IN BOOLEAN InvokeOnCancel
);
参数:
Irp
指向本驱动正在处理的IRP的指针
CompletionRoutine
驱动提供的完成例程专用接口,当他的下一层驱动程序完成请求包时被调用
Context
理解IoSetCompletionRoutine:驱动程序中的IO完成例程注册

IoSetCompletionRoutine是用于驱动程序的函数,它注册一个IO完成例程,该例程在下层驱动完成IRP请求时被调用。参数包括IRP指针、完成例程、上下文以及在不同情况下调用完成例程的标志。完成例程通常在IRP成功、失败或被取消时被调用,并负责释放资源。非即插即用驱动应使用IoSetCompletionRoutineEx。
最低0.47元/天 解锁文章
882

被折叠的 条评论
为什么被折叠?



