如何使用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消息框(内核模式)?

相关文章

本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不...
本文小编为大家详细介绍“怎么将工程托管到gitee”,内容详细...
这篇文章主要介绍了gitee中图片大小如何调整的相关知识,内容...