【发布时间】:2016-06-08 15:00:48
【问题描述】:
我有 Windows 内核模式驱动程序和用户模式 DLL 作为驱动程序和 GUI 应用程序之间的中间层。
我使用 DeviceIoControl 函数从用户模式 DLL 向驱动程序发送 IRP_MJ_DEVICE_CONTROL 请求,它运行良好。
但我也想从用户模式发送 IRP_MJ_SYSTEM_CONTROL 请求。我的驱动程序源代码中有 pnp.c 模块,它实现了 DispatchSystemControl 例程,该例程处理 IRP_MN_START_DEVICE、IRP_MN_START_DEVICE、IRP_MN_REMOVE_DEVICE 等 IRP。
我可以看到这个处理程序运行良好,例如 IRP_MN_REMOVE_DEVICE 处理程序在我移除设备时随时调用。
但我想知道是否有任何方法可以使用某些功能从用户模式发送 IRP_MJ_SYSTEM_CONTROL 请求,例如与我使用 DeviceIoControl 发送 IRP_MJ_DEVICE_CONTROL 的方式相同
【问题讨论】:
标签: c++ driver wmi hardware wdk