在内核中异步调用 DeviceIoControl
Calling DeviceIoControl async in kernel
我们在用户模式下有 OverLapped 结构。例如,我们可以使用重叠成员调用 DeviceIoControl 以在完成此调用时引发事件。但是什么内核模式?如何通过回调在内核中发送异步 DeviceIoControl? (FsRtlIssueDeviceIoControl 同步)
您可以使用 IoCallDriver() 发送您的 IOCTL,并使用 IoSetCompletionRoutine() 设置完成例程。但仍然可以同步或异步完成,这取决于完成 IOCTL 的目标驱动程序。
我们在用户模式下有 OverLapped 结构。例如,我们可以使用重叠成员调用 DeviceIoControl 以在完成此调用时引发事件。但是什么内核模式?如何通过回调在内核中发送异步 DeviceIoControl? (FsRtlIssueDeviceIoControl 同步)
您可以使用 IoCallDriver() 发送您的 IOCTL,并使用 IoSetCompletionRoutine() 设置完成例程。但仍然可以同步或异步完成,这取决于完成 IOCTL 的目标驱动程序。