Specifications
Device Driver Entry Points
Alternate Start-I/O Routine
Description
An alternate start-I/O routine initiates requests for activity on a device that can
process two or more I/O requests simultaneously. Because the method by which
the alternate start-I/O routine is invoked bypasses the unit’s pending-I/O queue
(UCB$L_IOQFL) and the device busy flag (UCB$V_BSY in UCB$L_STS), the
routine is activated regardless of whether the device unit is busy with another
request.
As a result, the driver that incorporates an alternate start-I/O routine must use
its own internal I/O queues (in a UCB extension, for instance) and maintain
synchronization with the unit’s pending-I/O queue. In addition, if the routine
processes more than one IRP at a time, it must employ separate fork blocks for
each request.
4–3