It looks like you are looking for WPD (Windows Portable Devices). This API is included in the Windows SDK and supports MTP communication with various devices. The WPD team has a very useful blog that contains instructions on how to get started with development.
Edit:
If you need raw USB access, WPD has a set of drivers :
Driver Kit for Windows Portable Devices
The WPD driver set includes the Device Driver Interface (DDI) supported on Windows 7, Windows Vista, and Windows XP. Developers will use this DDI to write drivers for devices that are not yet supported by MTP or the Mass Storage class drivers distributed by Microsoft.
source share