MCCI usb3.0 mass storage driver with scsi/stor port miniport driver

hi, all,

Nice to meet you, and thank you for the help in the former.

When translate the SCSI request blocks(SRBs) into USB request blocks(URBs), I feel the work load is some bit large, and need time.
I watch the MCCI USB mass sotrage driver architectue, it is like this on WIN7 os:

disk class driver
|
MCCI storport/virtual miniport driver
|
MCCI USB WDM driver
|
USBD

I have the following question:

  1. does the MCCI storpot / virtual miniport driver take the work of translate SRBs, even though it is not into URBs, but only with the buffers and buffer length, then you can take it as parameters of construct URBs?
  2. USBSTOR.sys is a bus driver, whcih create the PDO, then this PDO load disk.sys as the function driver
    So, does the MCCI USB WDM driver also work as bus driver, then create a PDO, which will load MCCI storport/virtual miniport driver, then the next step for
    MCCI storport/virtual miniport driver also create a PDO for loading the disk.sys
  3. I have saw some topic said the OSR with the storport/virtual miniport driver sample code, can some body tell me where to downloaded? and Does this sample code need the corresponding hardware for play with it?
  4. Does the storport/virtual miniport driver work load very large?

thank you,
jeff

workingmailing 於 2011年5月29日下午8:07 寫道:

> hi, all,
>
> Nice to meet you, and thank you for the help in the former.
>
> When translate the SCSI request blocks(SRBs) into USB request blocks(URBs),
> I feel the work load is some bit large, and need time.
> I watch the MCCI USB mass sotrage driver architectue, it is like this on
> WIN7 os:
>
> disk class driver
> |
> MCCI storport/virtual miniport driver
> |
> MCCI USB WDM driver
> |
> USBD
>
> I have the following question:
> 1. does the MCCI storpot / virtual miniport driver take the work of
> translate SRBs, even though it is not into URBs, but only with the buffers
> and buffer length, then you can take it as parameters of construct URBs?
>

Ans:yes. MCCI storage driver translate SRBs into URBs. The storport virtual
miniport driver passes SRBs to MCCI WDM driver, and MCCI WDM driver queues
the SRBs, and translate them into URBs.

> 2. USBSTOR.sys is a bus driver, whcih create the PDO, then this PDO load
> disk.sys as the function driver
> So, does the MCCI USB WDM driver also work as bus driver, then create a
> PDO, which will load MCCI storport/virtual miniport driver, then the next
> step for
> MCCI storport/virtual miniport driver also create a PDO for loading the
> disk.sys
>
ANS: yes, you are correct again. storport virtual miniport driver doesn’t
explicitly creates PDOs for child devices. Storport.sys does.

> 3. I have saw some topic said the OSR with the storport/virtual miniport
> driver sample code, can some body tell me where to downloaded? and Does this
> sample code need the corresponding hardware for play with it?
> 4. Does the storport/virtual miniport driver work load very large?
> ANS: no. miniport driver is a very thin layer (< 2000 lines of C code).
> thank you,
> jeff
>
>
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit
> the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer

Thank you.

But if I do not use the storport/virtual miniport driver architecture, do it also could work for usb mass storage device?

Yes you can, but using STORPORT simplifies the things a lot.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

wrote in message news:xxxxx@ntdev…
> Thank you.
>
> But if I do not use the storport/virtual miniport driver architecture, do it also could work for usb mass storage device?
>