gpt4 book ai didi

c++ - Mini Filter 驱动程序与 Windows 服务的通信

转载 作者:行者123 更新时间:2023-11-30 17:31:19 30 4
gpt4 key购买 nike

我正在创建一个迷你过滤器驱动程序。我与用户模式应用程序通信以获取用户的一些数据。我使用“通信端口”与用户模式通信。我尝试与用户模式应用程序进行通信,它工作正常。

我从其他人那里得到的建议是使用 Windows 服务来获取数据,因为它将始终运行,并且我们希望用户模式应用程序始终运行。

我的问题是

1)我可以在Windows服务中创建“通信端口”吗?

2)如果我创建Windows服务,如何获取特定的用户信息。我的意思是,当我向服务发送请求时,服务如何知道需要从哪个用户 session 数据中获取?

3)哪个更好,我的意思是用户模式或Windows服务是更好的解决方案。

最佳答案

1) Can i create "communication port" in windows service?

是的,您可以在服务中创建它。

2) If i create windows service, how to get specific user information. i mean, when i send the request to service how service come to know from which user session data needs to be fetched?

服务确实在系统帐户下运行,而不是在任何登录用户下运行。因此,要向当前登录的用户显示弹出窗口或对话框,您可以查看 WTSGetActiveConsoleSessionId()或类似的 API 来获取控制台 session 。

3) which one is better, i mean user mode or windows service is better solution.

取决于您的设计。正如您提到的,如果您的驱动程序依赖于此类要求,则服务始终运行,然后执行服务。但真正与用户交互需要付出更多的努力。

但是,如果您的驱动程序可以在没有任何服务/应用程序连接的情况下工作,那么请使用应用程序。

关于c++ - Mini Filter 驱动程序与 Windows 服务的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24675946/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com