USB Function Controller Driver Migration (Windows CE 5.0)

Send Feedback

Architecturally, a USB function client driver is above a USB function controller driver. A USB function client driver interfaces with a USB function controller driver through the USB function controller driver's hardware independent MDD. The USB function controller driver's MDD and all USB function client drivers are hardware platform independent. Multiple USB function client drivers interface with the same USB function controller driver. Each client interfaces with the USB function controller driver through the USB function controller driver's MDD. Along with the MDD, a USB function controller driver is also comprised of a PDD, which is architecturally below the MDD. The PDD interfaces directly with the USB function controller hardware.

Microsoft provides hardware platform independent USB function client drivers for RNDIS, serial, and storage. They are in %_WINCEROOT%\Public\Common\OAK\Drivers\USBFN\Class. The MDD for these USB function client drivers is in %_WINCEROOT%\Public\Common\OAK\Drivers\USBFN\Controller\MDD. For more information, see USB Function Client Drivers.

Generally, to port a USB function controller driver, only modify the PDD. Different PDDs may require different modifications. Microsoft provides PDDs for various chipsets:

  • %_WINCEROOT%\Public\Common\OAK\Drivers\CSP\ARM\Intel\PXA25X\USB\Function\PDD
  • %_WINCEROOT%\Public\Common\OAK\Drivers\CSP\ARM\Intel\PXA27X\USBFN
  • %_WINCEROOT%\Public\Common\OAK\Drivers\CSP\ARM\Samsung\S3C2410X\USB\Function
  • %_WINCEROOT%\Public\Common\OAK\Drivers\USBFN\Controller\Net2280

Drivers implemented for specific USB function controllers are in CSP subdirectories. The modifications to make to these drivers depend on the hardware platform to which you are porting the driver. Hardware platform independent drivers are in %_WINCEROOT%\Public\Common\OAK\Drivers.

In This Section

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.