【问题标题】:Is it possible for a C# application to communicate with a Kernel Driver?C# 应用程序是否可以与内核驱动程序通信?
【发布时间】:2016-04-25 10:37:11
【问题描述】:

我一直想知道我的 KMDF 驱动程序是否能够直接与 C# 应用程序通信,反之亦然。

经过几项研究,我只能发现微过滤器可以在 C# 服务中工作,不太确定 C# 应用程序(具有常规 Win32 权限)

以下是正确的解决方案吗...? 内核驱动程序 (C) DLL (C++) 应用程序 (C#)

提前谢谢你。

【问题讨论】:

  • 那么这与 C++ 或 C 有什么关系?当然,NT 内核主要是用 C 编写的,但是...?
  • 我已经包含了这些标签,以防有人知道这样的解决方案是否有效。
  • 检查 DeviceIOControl API
  • 用 C++ 编写的 KMDF 驱动程序示例和与之通信的 C# Win App 可以在这里找到:delog.wordpress.com/2012/03/23/…
  • 你引用的delog解释了WinUSBNet的一个例子,它仅限于USB。

标签: c# c++ c kernel minifilter


【解决方案1】:

通常微过滤器使用FltSendMessage function,而不是DeviceIOControl

只需让 Pinvoke 调用它或使用包装器

【讨论】:

    猜你喜欢
    • 2013-01-17
    • 2022-06-25
    • 2022-08-19
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    相关资源
    最近更新 更多