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)
_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev

Reply via email to