配置开发环境
- 安装Visual Studio
- 安装Windows Driver Kit
- 安装VisualBox/VMware
Getting started with Windows drivers
docs.microsoft.com/en-us/windo…
Concepts for all driver developers
docs.microsoft.com/en-us/windo…
I/O request packets(IRP)
docs.microsoft.com/en-us/windo…
KMDF as a generic driver pair model
docs.microsoft.com/en-us/windo…
KMDF extensions and driver triples
docs.microsoft.com/en-us/windo…
Windows Driver Modal(WDM)
docs.microsoft.com/en-us/windo…
Windows Driver Framework(WDF)
docs.microsoft.com/en-us/windo…
KMDF
UMDF/UMDF2
Minidrivers
docs.microsoft.com/en-us/windo…
参考:
Win8.1+VS2013+WDK8.1+VirtualBox or VMware 驱动开发环境配置
Bluetooth Profile Drivers
docs.microsoft.com/en-us/windo…
HID drivers
docs.microsoft.com/en-us/windo…
安装驱动
devcon.exe
C:\Windows\inf\setupapi.dev.log
HID驱动
docs.microsoft.com/en-us/windo…
HID Client
docs.microsoft.com/en-us/windo…
HID Usages
docs.microsoft.com/en-us/windo…
HID Collections
docs.microsoft.com/en-us/windo…
HID Transports
Windows 8 introduces support for HID over Bluetooth LE.
docs.microsoft.com/en-us/windo…
Write a HID source driver by using Virtual HID Framework (VHF)Write a HID source driver by using Virtual HID Framework (VHF)
虚拟键盘
Developing, Testing, and Deploying Drivers
docs.microsoft.com/en-us/windo…
Universal Drivers
docs.microsoft.com/en-us/windo…
Deploying Drivers
docs.microsoft.com/en-us/windo…
Windows Management Instrumentation(WMI)
docs.microsoft.com/en-us/windo…
Stream media device driver design guide
docs.microsoft.com/en-us/windo…
Windows driver samples
docs.microsoft.com/en-us/windo…
Driver Development Tools
docs.microsoft.com/en-us/windo…
Tools for Software Tracing
docs.microsoft.com/en-us/windo…
Windows software trace preprocessor (WPP)
docs.microsoft.com/en-us/windo…
Event Tracing for Windows (ETW)
docs.microsoft.com/en-us/windo…
Kernel-Mode Driver Architecture Design Guide
docs.microsoft.com/en-us/windo…
Interrupt Service Routines (ISRs)
docs.microsoft.com/en-us/windo…
Deferred Procedure Calls (DPCs)
docs.microsoft.com/en-us/windo…
参考
Debuggin Tools for Windows(WinDbg, KD, CDB, NTSD)
docs.microsoft.com/en-us/windo…
Getting Started with Windows Debugging
docs.microsoft.com/en-us/windo…
Setting Up Debugging (Kernel-Mode and User-Mode)
docs.microsoft.com/en-us/windo…
Device Access API
docs.microsoft.com/en-us/previ…
docs.microsoft.com/en-us/windo…
UWP device apps
docs.microsoft.com/en-us/windo…
Device sync and update for Store device apps in Windows 8.1
docs.microsoft.com/en-us/windo…
Creating a device background task in Windows 8.1 (UWP device apps)
docs.microsoft.com/en-us/windo…
Automatic installation for UWP device apps
docs.microsoft.com/en-us/windo…
Hardware Support App (HSA): Steps for Driver Developers
docs.microsoft.com/en-us/windo…
Develop UWP apps
docs.microsoft.com/en-us/windo…
Devices, sensors, and power
docs.microsoft.com/en-us/windo…
Enumerate devices
docs.microsoft.com/en-us/windo…
AEP service class IDs
docs.microsoft.com/en-us/windo…
Partner Center for Windows Hardware
docs.microsoft.com/en-us/windo…
Device metadata
The Device Metadata Experience
Create a Device Metadata Experience
docs.microsoft.com/en-us/windo…
参考
Device metadata
docs.microsoft.com/en-us/previ…
Device metadata schema reference
docs.microsoft.com/en-us/previ…
SoftwareInfo XML Schema
docs.microsoft.com/en-us/previ…
IdentityForPrivilegedApplicationsType
docs.microsoft.com/en-us/previ…
Windows Search
docs.microsoft.com/en-us/windo…
Windows Search Developer's Guide
docs.microsoft.com/en-us/windo…
Querying the Index Programmatically
docs.microsoft.com/en-us/windo…
Using Advanced Query Syntax Programmatically
docs.microsoft.com/en-us/windo…
参考:
Windows Hardware Lab Kit (WHLK)
docs.microsoft.com/en-us/windo…
Device and Driver Installation
docs.microsoft.com/en-us/windo…
.Net Guide
docs.microsoft.com/en-us/dotne…
Native interoperability
docs.microsoft.com/en-us/dotne…
Platform Invoke (P/Invoke)
docs.microsoft.com/en-us/dotne…
注意事项:
docs.microsoft.com/en-us/uwp/w…
DeviceIoControll:Introduced into api-ms-win-core-io-l1-1-0.dll in 10.0.17763.
stackoverflow.com/questions/4…
Half-way through this thread from 2014 is the mention that "there is no [...] API for pen injection", and things haven't improved since then, so a driver for pen injection is still required. Having said that, the Windows UI Automation API can apparently inject all pointer types (and a game pad to boot), but that's only supported from Windows 10 Anniversary Edition (and I haven't tried it).
stackoverflow.com/questions/4…
blog.mzikmund.com/2018/01/inj…
docs.microsoft.com/en-us/windo…
stackoverflow.com/questions/4…
And there is no public apis in win32 for pen injection. If your system is Windows 10, version 1809, InjectSyntheticPointerInput can be used.
Windows 1703 build 15063