微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用ACPIfilter驱动程序WDM中的ACPI通知发送基于ACPI的亮度热键?

起初,我不得不承认我是HW Driver的新手。

假设用户可以在Windows 8.1上使用基于ACPI的亮度热键在笔记本键盘上触摸/按下硬件按键(如亮度提升),系统将收到基于ACPI的通知,并增加显示亮度,并显示屏幕显示这是一个垂直条,显示屏幕左上angular的亮度级别。

现在,我们必须主动提出这些基于ACIP的通知,让系统完成增加/减less显示的亮度,并在我们的ACPIfilter驱动程序接收到我们的应用程序发送的IRP时在屏幕上显示屏幕显示(客户端需要此OSD) 。

首先,我读“与硬件button(热键)集成”,但它没有公布如何在内核模式驱动程序中发送这些“ACPI_NOTIFY_INC_BRIGHTnesS_HOTKEY”或“ACPI_NOTIFY_DEC_BRIGHTnesS_HOTKEY”。

是否有可能使用WCF与Windows内核模式软件进行通信?

Windows 8共享打印机错误“无法安装内核模式打印驱动程序。 ”

是否有LdrLoadDll的内核模式callback?

如何从Windows驱动程序(又名内核空间)确定cpu和内存消耗

Windows XP:让我的程序在内核模式下运行?

所以我find了支持显示输出和ACPI事件” 。 它表示调用DxgkDdiNotifyAcpiEvent来通知显示微端口驱动程序关于ACPI事件。 我不知道我是否误解了我们可以主动调用这个例程来提高ACPI_NOTIFY_INC_BRIGHTnesS_HOTKEY来让系统增加亮度并显示屏幕显示

我想我可能不能调用DxgkDdiNotifyAcpiEvent,因为我几乎不能构造DxgkDdiNotifyAcpiEvent所需的“PVOID MiniportDeviceContext”。

请原谅我对我的需要和我的研究的详细解释,因为我英语不好…

总之,这里是整个stream程:

我们的应用程序使用CreateFile来打开我们的ACPI-Filter驱动程序,以便与之通信。

应用程序使用DeviceIoControl将Irp发送到ACPI-Filter驱动程序

ACPI-Filter dirver接收到Irp,并引发一个基于ACPI的通知,告诉系统增加/减less显示亮度, 最重要的是显示屏幕显示 (如果ACPI_NOTIFY_INC_BRIGHTnesS_HOTKEY通知成功通知系统,那么没有需要关注这个需求,因为系统将在屏幕上显示OSD)

当谈到第3步,有人可以告诉我如何完成它? 示例代码是最受欢迎的。

或者,可以在UMDF上完成吗?

根据我所研究的,HID报告是满足这种需求的另一种方式,但我认为我应该从头到尾编写HID-minifilter驱动程序,这是没有时间去完成的。 最重要的是,我不熟悉这些模块。

如何在用户模式下将数据从内核模式驱动程序发送到二进制文件

Windows驱动程序列出文件到WinDbg控制台

目录相对ZwCreateFile

如何显示驱动程序的popup消息框(内核模式)?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐