在内核中异步调用 DeviceIoControl

Calling DeviceIoControl async in kernel

我们在用户模式下有 OverLapped 结构。例如,我们可以使用重叠成员调用 DeviceIoControl 以在完成此调用时引发事件。但是什么内核模式?如何通过回调在内核中发送异步 DeviceIoControl? (FsRtlIssueDeviceIoControl 同步)

您可以使用 IoCallDriver() 发送您的 IOCTL,并使用 IoSetCompletionRoutine() 设置完成例程。但仍然可以同步或异步完成,这取决于完成 IOCTL 的目标驱动程序。