Storport Queuing

Please excuse me If my rookie knowledge in sTorage drivers has misconceptions :slight_smile:

In the Storport Model I see that One is not Supposed to Set SRB as Pending?? . Does it mean I am not Supposed to do Driver Level Queue Management in a Storport Miniport.

My Device Supports Interrupt on Read and Write Complete and It takes qutie some time for my device to complete a Request . If I cannot keep my SRB’s Pending after StartIo and there is no Context SRB in my Interrupt routine , How am I supposed to manage my Device.

  1. Should I Execute a DEvice Command without using Interrupts then Stall and Complete the SRB (After checking my device command status) .

  2. Send the Command to the Device in BuildIO Itself and then complete SRB in Startio (Is Buildio and Startio SRB Serialized ?). What happens in a multiprocessor System will BuildIO and StartIO

Can any of the experts suggest the best way to manage my slow storage device.

What is the relation between

StorPortPauseDevice
StorPortResumeDevice

and

StorPortSetDeviceQueueDepth

Thanks,
Manohara