我知道關於從用戶模式與內核模式進行通信,我也知道事件/反向調用,但是我需要發送一個字符串值到用戶模式進程從一個內核模式設備驅動程序,然後在KM中等待響應(例如TRUE或FALSE BOOLEAN)。內核模式到用戶模式通信
取出字符串「c:\ file.txt」。現在我需要KM設備驅動程序將該字符串發送到用戶模式,然後讓UM程序重新發回TRUE或FALSE響應以供驅動程序處理。
我已經經歷了很多網站主題/帖子,文檔樣本,並且找不到我在找什麼。
我在想,也許我可以安裝在用戶模式程序,直到響應返回其只是繼續等待數據下來,然後在KM我莫名其妙地暫停一個線程...不知道
任何幫助表示讚賞。
歡迎來到Stack Overflow。您的帖子目前的形式不清楚,不適合Stack Overflow。請訪問[幫助中心](http://stackoverflow.com/help)並閱讀[如何提出一個好問題]部分(http://stackoverflow.com/help/how-to-ask)。 –
規範方法是一個IOCTL。用戶模式調用是DeviceIoControl函數。您可以在單獨的線程中調用它或使用異步I/O。內核模式驅動程序到達時可能處理這種請求的方式之一是將其重新配置到單獨的隊列中,該隊列被配置爲使用手動調度方法;這樣,當您需要將消息發送到用戶模式時,您只需使用WdfIoQueueRetrieveNextRequest將掛起的請求拉出隊列,然後按正常方式完成。 –
......來自驅動程序的消息應該可能包含某種ID號,以便當用戶模式程序發送IOCTL來表示「真」或「假」時,它可以包含ID號,以便驅動程序知道哪個IOCTL正在迴應的消息。 –