【问题标题】:How execute driver function in user-mode application?如何在用户模式应用程序中执行驱动程序功能?
【发布时间】:2015-10-26 12:44:27
【问题描述】:

我正在开发一个与设备驱动程序通信的应用程序。如何调用这样的函数

VOID TchBklSetIntensity(BKL_CONTEXT* BklContext,ULONG Intensity)

在 C# 用户模式应用程序中?

【问题讨论】:

  • 驱动程序必须明确地公开它。如果不是通过普通读/写然后通过 ioctl,您将在 C# 程序中调用 DeviceIoControl()。

标签: c# c++ driver drivers kmdf


【解决方案1】:

驱动程序与用户空间隔离,并且设备驱动程序的这些功能存在于内核范围内。

但是,通常有一个随附的库通过打开一个特别指定的文件名与驱动程序对话,例如:XXXXX,其中库将某个字节序列写入该文件,以与驱动程序对话。然后,该 API 代码将可由用户空间空间、高级代码(如本例中的 C#)访问。

例如,保留文件名,例如 classi one 是 NUL,它是保留文件名(可以是 nul),其中重定向到它相当于 Unix/Linux /dev/null

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    相关资源
    最近更新 更多