[vbox-dev] FYI: new win7 USB APIs

Huihong Luo huisinro at yahoo.com
Tue Jun 15 08:11:18 PDT 2010


that are useful to implement USB kernel driver to virtualize usb devices.
 
These APIs should help to solve the current vbox usb issues on Windows host. For example, one issue is that when a usb is first used via vbox, the Windows host machine must be rebooted, which is really inconvenient.
RPMGetAvailableDevices
The RPMGetAvailableDevices routine returns the list of attached USB devices (except hubs and HIDs).
NTSTATUS
RPMGetAvailableDevices (
    IN HANDLE RegisteredDriver,
    IN USHORT Locale,
    OUT PUSBRPM_DEVICE_LIST *DeviceList)
 
RPMRegisterAlternateDriver
The RPMRegisterAlternateDriver routine enables the client to register itself in order to load an alternate driver for a USB device.
NTSTATUS
RPMRegisterAlternateDriver(
    IN PDRIVER_OBJECT  DriverObject,
    IN LPCWSTR  CompatibleId,
    OUT PHANDLE  RegisteredDriver)

 
RPMLoadAlternateDriverForDevice
The RPMLoadAlternateDriverForDevice routine loads an alternate driver for the device on a particular hub and connection index.
NTSTATUS
RPMLoadAlternateDriverForDevice (
    IN HANDLE RegisteredDriver,
    IN ULONG64 HubID,
    IN ULONG ConnectionIndex,
    IN OPTIONAL REFGUID OwnerGuid)

 
RPMUnregisterAlternateDriver
The RPMUnregisterAlternateDriver routine allows the client to unregister.
NTSTATUS
RPMUnregisterAlternateDriver (
    IN HANDLE  RegisteredDriver)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.virtualbox.org/pipermail/vbox-dev/attachments/20100615/c8b48e2d/attachment-0001.html 


More information about the vbox-dev mailing list