内核驱动程序要让DeviceIOControl阻塞到以后?

时间:2019-02-22 13:41:55

标签: windows kernel driver deviceiocontrol

我有一个简单的内核sys驱动程序,在DRIVER_OBJECT中,我将MajorFunction[IRP_MJ_DEVICE_CONTROL]设置为调度处理程序例程。

用户像这样对我读/写控件:

DeviceIoControl ( device_handle, ctrl_code, &outdata, out_length, &indata, in_length, &count, NULL);

一切正常。

我的问题是:我的情况是驱动程序需要为一个控制代码发送的数据直到第一次从其他控制代码(通常由另一个用户)读取后才可用。

所以我的问题是:

在驾驶员调度例程中,我可以告诉内核我还没有准备好,并且内核需要稍后再次为该请求调用调度吗?同时,对DeviceIOControl的用户调用会被阻止吗?

或者,我可以“禁用”控制代码以防止对其调度,以便使用户DeviceIOControl调用块,直到我“启用”该控制代码并允许再次调度吗?

感谢您的帮助!

0 个答案:

没有答案