選擇適合您的驅動程式開發工具

本文介绍了如何根据应用场景选择WinDriver或KernelDriver。WinDriver适用于直接从应用程序访问硬件的情况,而KernelDriver则用于需要编写标准驱动或过滤驱动的情形。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Choose WinDriver when:
  1. You need to access hardware from your application, or from several applications. Check out The WinDriver architecture.
  • Notes:
  • Choose WinDriver when possible. WinDriver requires no previous knowledge in driver development, DDK, or operating system internals.
  • Writing your driver with WinDriver will enable it to be source code compatible between all major operating systems.
  • WinDriver's Kernel PlugIn feature enables you to implement sections of your code directly in the kernel (ring 0) for optimal performance (for PCI/ISA).
  • Examples:
  • Controlling hardware through the Parallel Port.
  • Controlling hardware through the Serial Ports.
  • PCI IO Card Control.
  • Digital / analog Input / Output.
  • Data acquisition.
  • Audio cards.
  • Voice encoders / decoders.
  • MPEG encoders/decoders.
  • USB HID Devices.
  • USB web cameras.
  • USB scanners.
  • Robotic and automation control.
  • Controlling a PCI multi processor device.

WinDriver should be used whenever you need to access your hardware directly from your application(s). WinDriver also allows you to run performance critical parts of your code at Ring 0 (using the Kernel PlugIn feature) and thus to achieve optimal performance (for PCI/ISA).

Choose KernelDriver when:

  1. You need to write a "Standard" driver / Miniport driver. (e.g. NDIS, SCSI, Video, etc.)
  2. You need to write a "Filter" or "Layered" driver (i.e. a driver that communicates with other drivers)
  3. You need to write a driver that emulates an existing driver.

    KernelDriver includes a wizard, which simplify the development process of full kernel mode drivers on all supported OSs for this tool-kit, and also includes wrapper C++ classes and samples for Windows NT 4.0.
  • Examples:
  • NDIS network device drivers.
  • Serial port device drivers.
  • Video Drivers.
  • Keyboard Drivers.
  • USB to Serial port driver.
  • USB to NDIS driver.
  • Hard Drive drivers.
  • SCSI device drivers.
  • Driver that encrypts / decrypts data passed to / from the hard drive.
  • File filter drivers.
  • Intermediate driver.

KernelDriver should be used whenever you need to write a kernel mode driver due to architectural reasons (Miniport drivers, Filters, etc...).

KernelDriver requires basic knowledge in the OS architecture for the target OS. On Windows you will also need Microsoft's DDK to develop the driver.

 

Choose HardwareDebugger when:

  1. You need to graphically diagnose / test new ISA, PCI, PCMCIA or USB hardware.
  2. You don't need to write a driver at this stage.
  • Notes:
  • The HardwareDebugger is included with WinDriver and KernelDriver.
  • Examples:
  • Bringing up new PCI or ISA hardware.
  • Testing new USB devices.
  • "Peeking" and "Poking" at memory or I/O.
  • Listening to Interrupts.
  • Use as an educational tool to learn about ISA / PCI / USB / PCMCIA busses.
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值