首页 文章
  • 2 votes
     answers
     views

    如何让USB设备加载我的功能驱动程序?

    我写了一个usb函数驱动程序 . 如果我想要插入计算机的任何USB设备加载此驱动程序而不是真正的驱动程序,我该怎么办?我只知道当总线驱动程序创建pdo时我是否更改了vid / pid,我可以做到 . 但我不知道是否有一种简单的方法可以做到这一点 . 如何改变 Bus 车的行为?过滤器驱动程序可以制作吗?该平台是Windows .
  • 1 votes
     answers
     views

    驱动程序代理,以避免在Windows上重复代码签名

    Windows上的驱动程序应该签名并提交给Microsoft进行代码签名,这是64位系统的要求 . 问题是,当你必须更新驱动程序时,你必须再次提交它,每次发布一次 . 是否可以构建某种代理或填充驱动程序,以便我只需要签名并提交一次,然后将我的代码放在一个单独的模块中? 当然,我不能只在DLL中移动工作代码,因为必须对动态加载的模块进行签名才能在64位内核模式下执行 . 如果我将代码放在原始文件中,...
  • 0 votes
     answers
     views

    进程ID在用户模式和内核模式下是相同的

    我感到震惊的是,在我的应用程序通过DeviceIoControl()Win32 API从我的应用程序到内核驱动程序(WDM)的IOCTL请求中,我在用户模式和内核模式之间获得了相同的PID . 据我所知,驱动程序在内核模式下有自己的PID;应用程序在用户模式下拥有自己的PID,它们是分开的,可以通过IOCTL进行通信 . 但今天,我在IOCTL请求中的用户/内核模式之间获得了相同的PID . 我在...
  • 1 votes
     answers
     views

    如何在WDM驱动程序中检测会话创建/终止?

    我正在构建Windows的设备驱动程序(WDM驱动程序,32位),我需要检测终端会话的创建和关闭 . 我知道如何获取调用者进程的会话ID( ZwQueryInformationProcess 与 ProcessSessionInformation 标志) . 我也拦截了图形驱动程序加载/卸载到会话中的事件(通过 SystemLoadImage / SystemUnLoadImage 截取 Zw...
  • 1 votes
     answers
     views

    如何创建一个基本的,空的WDM驱动程序?

    我试图说服Visual Studio 2013构建一个驱动程序 . 但从未见过Visual Studio 2013成功构建驱动程序,我不知道如何解决问题 . 所以是时候回到起点了 . 删除整个解决方案并开始逐个添加,直到无法构建 . 除了我无法得到一个空的解决方案来构建 . 让我们创建一个新的空WDM驱动程序项目 在Visual Studio 2013中,我选择: File , New , P...
  • 7 votes
     answers
     views

    将代码移动到内核空间会给出更精确的时序吗?

    背景资料: 我目前有一个连接USB端口的硬件设备 . 硬件设备负责将精确的周期性消息发送到各种网络上,而这些网络又连接起来 . 在硬件设备内部,我有两个Microchip dsPIC . 有两种操作模式 . 一种情况是将简单的“作业”发送到dsPIC,然后可以发送精确到0.001厘米的精确消息 . 这种架构不适用于更复杂的消息传递,我们需要根据PC应用程序中发生的事件发送周期性数据包 . 所以我们...

热门问题