使用VHF框架实现一个虚拟HID键盘

thbcm阅读(180)

使用VHF开发的驱动程序叫做源驱动程序,源驱动程序的作用是控制VHF设备对象的生命周期,以及为VHF设备对象提供数据。下面这张官方文档中的设备树显示了它们之间的层次关系。




绿色框的FDO指的是源驱动程序,就是我们要开发的部分,开发时需要引用Vhfkm.lib(在umdf中是Vhfum.lib)来使用vhf提供的api。PDO是物理设备对象,通常是上级设备的FDO枚举出来的设备,对于虚拟设备来说,一般是通过devgen等方式生成的设备。PDO一般会显示在设备管理器中,未安装驱动时显示为Unknown Device,源驱动程序就是安装在这个设备上的。Vhf.sys是VHF框架的核心,作为LowerFilter安装在源驱动程序上,过滤PDO到源驱动程序之间的请求,这些请求一般是设备生命周期相关的请求,例如PNP事件等,与HID功能无关。Vhf.sys会枚举出一个PDO来,这个是实现虚拟HID设备功能的PDO,系统会在它上面安装HidClass的驱动。

GEE&Python-demo1:利用Sentinel-2监测北京奥林匹克森林公园2024年NDVI变化(附Python版)

thbcm阅读(208)

ps: 提供
JS版本和
Python版本,但注意,无论是JS还是Python版本除了JS提供了GEE的Script 链接,直接给定的代码都是无法直接运行的,因为存在自定义创建的训练样本(需要自己手动在GEE的MAP上创建).同时geemap有创建训练样本的工具但是可能存在异常无法正常创建所有的训练样本或者零星地创建单一类样本(具体见:
https://github.com/gee-community/geemap/issues/467)

C#/.NET/.NET Core技术前沿周刊 | 第 52 期(2025年8.25-8.31)

thbcm阅读(86)

C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。

联系我们