Release Notes for Microchip General Purpose USB Windows Driver,

Microchip Technology Inc.


June 23, 2008


What’s New In This Release?

·        Addition of the MPUSBGetDeviceDescriptor () , MPUSBGetConfigurationDescriptor(), MPUSBGetStringDescriptor(), and MPUSBSetConfiguration() functions to the MCHPUSB.DLL and header files.


Updating The Driver On Your System

If a previous driver is already installed on your system, you can update the driver by simply going into the Control Panel->System->Hardware->Device Manager, right clicking on the Microchip Custom USB Device, selecting Update Driver, and pointing to the latest driver in the “<Install Directory>\USB Tools\MCHPUSB Custom Driver\MCHPUSB Driver\Release” folder.


USB Vendor ID and Product ID


In order to install the driver for a particular device, the VID and PID in the INF file must match the device VID and PID. This can be done by modifying the two IDs in the INF file under the [DeviceList] and [DeviceList.ntamd64] sections. The IDs are stored as a hex number.


Application Programming Interface


There are two methods of using the functions provided by the driver.


1. Use MPUSBAPI.dll, this DLL provides easy to use interface to the driver. See the “<Install Directory>\USB Tools\MCHPUSB Custom Driver\MCHPUSB Driver” directory for details.


2. Interface your Windows® application directly to the driver. In this case, you must include the Ioctls.h file to your source project. This method provides greater flexibility and control, but is also more complicated. Example source code of how to interface directly with the driver can be found in the MPUSBAPI.dll source code which can be found in the “<Install Directory>\USB Tools\MCHPUSB Custom Driver” folder.


Supported Operating Systems

·        Windows XP

·        Windows XP 64

·        Windows Vista

·        Windows Vista 64

·        Windows Server 2003

·        Windows 2000



1) In Windows 2000 only, the “Allow the computer to turn off this device to save power” checkbox in the drivers Power Management tab located in the Device Manager will not cause the device to go into suspend mode.


2) When modifying the “%DESCRIPTION%=DriverInstall” and “%DESCRIPTION%=DriverInstall64” for application use in the MCHPUSB Driver example .inf, please remove one or more entries from these lists before adding new entries.  Issues have been reported when using too long of description strings when running on the Microsoft Vista Operating System.


3) For driver signing and WHQL purposes the MCHPUSB.sys file and example .inf files have not been updated to reflect the new revision number that the DLL and header files now display.  Changing these files will break the certification.


Driver Signing

Microchip’s Custom USB Drivers mchpusb.sys and mchpusb64.sys each contain an embedded digital signature.  In addition, the drivers have passed Microsoft’s WHQL certification process and contain a WHQL signature.  The Windows Vista 64-bit operating system requires all drivers to be digitally signed or they will not install.  Since the mchpusb64.sys driver file contains an embedded digital signature in addition to a WHQL signature, you will still be able to install the driver in Windows Vista 64 after modifying the mchpusb.inf file with your application specific information.


Any modification of the mchpusb.inf file invalidates the existing WHQL signature which will cause pop up boxes in Windows regarding driver signing during the driver installation.  In order to alleviate these pop up boxes, you will need to obtain a new WHQL signature from Microsoft.  For more information about WHQL certification and driver signing, please visit  At the time of this writing this website requires Internet Explorer to open properly.