摘要:USB转COM驱动的编写实现有很多中方法,最近在网络上看到一个最常用的方式,即是虚拟一个COM口,在COM初始的时候进行打开一个USB设备. 当USB串COM口驱动处理Write和Read 等IRQ的时候,其实是去读写USB 设备驱动,读写方式是直接采用ZwReadFile和ZwWriteFile函数.但是真正的实现也不是这么简单,真实的实现是开辟一个线程和一段较大的缓冲区,线程用于适时读取USB设备的数据并保存在缓冲区当中.当上层应用程序向这个虚拟的COM口发送READ IRP(IRP_MJ_READ)的时候,则直接从这段缓冲区中读取数据返回即可.当然还不要忘记处理超时的问题处理. 因此US
阅读全文
摘要:要获取windows 内核中所有驱动模块信息,调用 系统服务函数 NtQuerySystemInformation,参数SystemInformationClass 传入SystemModuleInformation.NtQuerySystemInformation申明如下: 1 // 2 // System Information Classes. 3 // 4 typedef enum _SYSTEM_INFORMATION_CLASS { 5 SystemBasicInformation, 6 SystemProcessorInformation, ...
阅读全文
摘要:1 #include "stdafx.h" 2 #include <WINDOWS.H> 3 4 5 #ifndef _LOADNTDRIVER_H_ 6 #define _LOADNTDRIVER_H_ 7 8 9 BOOL InstallDriver(10 SC_HANDLE SchSCManager,11 LPCTSTR DriverName,12 LPCTSTR ServiceExe13 );14 15 BOOL Re...
阅读全文