From: eagersh on
On Jun 30, 3:14 am, flyingfly <flying...(a)discussions.microsoft.com>
wrote:
> Thanks for your help!
>
> I've just studied driver development for 2 months and I'm not quite familiar
> with all the details.
> Plz don't mind if my question involve some stupid or confusing ideas.
>
> From your help, I think I need to write a virtual SCSI port to communicate
> with OS and PCIe&DMA driver to communicate with device.
>
> I have some troubles:
> 1.Storport is only supported for Vista and later OS. So for XP, I need to
> write the SCSI port in a more complex way?
> 2.Is a file system driver needed upon the virtual SCSI port?
> 3.Is the transmission speed limited to SISI procotol? It must be much slower
> than PCIe. That should be a waste.
> 4.Do i really need a virtual port? Can't I just tell OS that this is a
> storage device and the driver can handle the operations needed for a normal
> hard disk. For example, If OS send a READ request, the driver will get the
> HOST memory address and the device disk address, it then start a DMA
> transaction for the device. After the DMA transaction, the READ request is
> finished.
> Or the OS just know certain storage device such as SCSI,IDE...
>
> Thanks again for your help, much appreciate!

If you need support XP you have to develop a miniport SCSI driver. But
it is a very complex project and I think your company would need a
consultant who did similar work. 2 months general experience in
Windows device driver development is not enough for such work. There
are other options which would work also on XP. They are a Storage Port
driver and a Disk Class driver. But you should choose other options
only if a miniport SCSI could not work for you.

Igor Sharovar

From: Maxim S. Shatskih on
> 1.Storport is only supported for Vista and later OS. So for XP, I need to
> write the SCSI port in a more complex way?

Yes. Not much more complex if you have a real hardware with interrupt.

> 2.Is a file system driver needed upon the virtual SCSI port?

No. You can use FAT or NTFS.

> 3.Is the transmission speed limited to SISI procotol?

What is SISI? SCSI? No, the speed is not limited to SCSI.

> 4.Do i really need a virtual port? Can't I just tell OS that this is a
> storage device

....and you need a port for this.

--
Maxim S. Shatskih
Windows DDK MVP
maxim(a)storagecraft.com
http://www.storagecraft.com