Can anybody clear me actually who creates URB for sending it to device… is it vendor provided functional driver or bus driver.
Let us take example of Mass storage device… is URB created by USBHub.sys or USBSTOR.sys. and when we load vendor driver for particular vendor mass storage device then also, is usbstor.sys also gets loaded and then who creates URB’s for passing information to and from device.
Thanks in Advance
Chandrakant
xxxxx@yahoo.co.in wrote:
Can anybody clear me actually who creates URB for sending it to device… is it vendor provided functional driver or bus driver.
Let us take example of Mass storage device… is URB created by USBHub.sys or USBSTOR.sys. and when we load vendor driver for particular vendor mass storage device then also, is usbstor.sys also gets loaded and then who creates URB’s for passing information to and from device.
URBs do not get sent to devices. Devices talk bus protocol.
A URB is a request to the USB host controller driver for some kind of
bus activity. In your example, USBSTOR.SYS will receive read or write
requests from applications. USBSTOR will create a URB to request USB
bus activity. The USB host controller driver uses that URB to create
USB packets, which are then queued up for the controller hardware. The
controller hardware sends the packets out on the USB wire at the
appropriate time.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.