Patent ID: 7698122

Claim:
A method for emulating, on a computer, a device accessible via a serial bus, the method comprising acts of: in response to a request to create a virtual device, the request sent to a bus driver for the serial bus, creating a virtual device object on the computer for the device to be emulated; in response to creating the virtual device object, loading an emulation driver for the device to be emulated; modifying a configuration memory to include information about the functionality of the device to be emulated, the modifying comprising: submitting a request to modify by the virtual device object; adding a unit directory to the configuration memory; and altering information necessary to expose an emulated device functionality; in response to modifying the configuration memory, issuing a bus reset; allocating node address space to intercept requests to an emulated device register, wherein said modifying, issuing and allocating is performed without the emulated device being connected to the serial bus; receiving, via the serial bus, a command for the device being emulated; processing the command at the emulation driver for the device; and sending an indication of the command from the emulation driver to a device driver on the computer for the device being emulated.