INFO: Writing Device Drivers By Using Platform Builder Compared to VC CE and SDK (258823)



The information in this article applies to:

  • Microsoft Windows CE Operating System, Versions 3.0
  • Microsoft Windows CE Operating System, Versions 2.12
  • Microsoft Windows CE Operating System, Versions 2.11
  • Microsoft Windows CE Operating System, Versions 2.0

This article was previously published under Q258823

SUMMARY

Do I need Microsoft Windows CE Platform Builder (PB) to write device drivers or can I write devices by using Microsoft Visual C++ CE and the Software Development Kit (SDK)?

Platform Builder is needed to develop and debug device drivers. If you are an Microsoft Developer Network (MSDN) subscription holder, there is an evaluation version of Platform Builder that expires within 90 days of your installation.

MORE INFORMATION

Platform Builder provides the binaries/tools, and so on, that allows you to build/develop drivers for the Windows CE platforms (CEPC/ODO). IHVs are limited in some ways if they want to target Jupiter or Wyvren or other platform devices. This limitation primarily depends on the type of driver that is being developed--stream-based installable/client drivers or native drivers.

In general, you can/cannot do the following with Platform Builder:
  1. You cannot write native drivers for target devices with Platform Builder because you need the platform-specific information (PDD portion), which you don't get with Platform Builder. This includes the following, which are usually developed by the platform's OEM:

    • USB host controller driver
    • PCMCIA host controller driver
    • Display drivers
    • Wave drivers
    • Serial/parallel port driver
    • Touch driver
    • Keyboard or mouse
    • Notification LED
  2. You can write the following types of installable/client drivers on a CEPC with Platform Builder, which can also be targeted towards your end product (Jupiter/Wyvren, and so on). These client drivers don't depend on platform-specific information, but some client drivers violate this rule. IHVs typically write client drivers only.

    • USB client drivers
    • PCMCIA client drivers
    • ACM drivers
    • NDIS Miniports (only PCMCIA-based ones for any media Ethernet, token-ring, and so on)
    • Printer drivers
    • Application-specific serial drivers (GPS, and so on)
  3. You cannot debug your driver on a target platform unless the OEM provides some mechanism (debug OS binaries, debug board, IOCTL to switch serial port from product serial to debug serial, and so on). For installable/client drivers, debug on the CEPC or other reference platform at best, and then do some functionality-testing on the device.

Modification Type:MajorLast Reviewed:4/14/2004
Keywords:kbinfo KB258823