[英]Mini Filter driver communication with windows service
我正在創建一個微型過濾器驅動程序。 在這種情況下,我與用戶模式應用程序進行通信以獲取某些數據表單用戶。 我使用“通信端口”與用戶模式進行通信。 我嘗試與用戶模式應用程序進行通信,效果很好。
我從其他人那里得到的一個建議是使用Windows服務來獲取數據,因為它將一直運行,並且我們希望用戶模式應用程序始終運行。
我的問題是
1)我可以在Windows服務中創建“通訊端口”嗎?
2)如果我創建Windows服務,如何獲取特定的用戶信息。 我的意思是,當我發送服務請求時,如何知道需要從哪個用戶會話數據中獲取服務?
3)哪個更好,我的意思是用戶模式或Windows服務是更好的解決方案。
1)我可以在Windows服務中創建“通訊端口”嗎?
是的,您可以在服務中創建它。
2)如果我創建Windows服務,如何獲取特定的用戶信息。 我的意思是,當我發送服務請求時,如何知道需要從哪個用戶會話數據中獲取服務?
服務確實在系統帳戶下運行,而不在任何登錄用戶下運行。 因此,要向當前登錄的用戶顯示彈出窗口或對話框,您可以查看WTSGetActiveConsoleSessionId()
或類似的api以獲取控制台會話。
3)哪個更好,我的意思是用戶模式或Windows服務是更好的解決方案。
取決於您的設計。 正如您提到的,如果您的驅動程序依賴於此要求,則服務始終在運行,然后使用服務。 但是,與用戶進行實際交互將需要更多的努力。
但是,如果您的驅動程序可以在沒有任何服務/應用程序連接的情況下正常工作,請選擇應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.