If there isn't enough memory available, the request is placed in a queue, to be processed at a later time If this is a high priority paging request, all regular Io are throttled to provide Mm with better thoroughput Arguments: Fdo - The functional device object processing the request Irp - The Io request to be processed Post To Dpc - Flag that indicates that this IRP must be posted to a DPC Return Value: STATUS_SUCCESS if successful, an error code otherwise --*/ /* //////////////////////////////////////////////////////////////////////////// Class Io Complete() Routine Description: This routine executes when the port driver has completed a request.It looks at the SRB status in the completing SRB and if not success it checks for valid request sense buffer information.Arguments: Driver Object - a pointer to the driver object that is being unloaded Status: --*/ VOID Class Unload( IN PDRIVER_OBJECT Driver Object ) // end Class Unload() /* //////////////////////////////////////////////////////////////////////////// Class Add Device() Routine Description: SCSI class driver add device routine.
This is called by the io system when a PNP request is sent to the device.If valid, the info is used to update status with more precise message of type of error. This routine should only be placed on the stack location for a class driver FDO. Return Value: NT status --*/ NTSTATUS Class Io Complete( IN PDEVICE_OBJECT Fdo, IN PIRP Irp, IN PVOID Context ) // end Class Io Complete() /* //////////////////////////////////////////////////////////////////////////// Class Send Srb Synchronous() Routine Description: This routine is called by SCSI device controls to complete an SRB and send it to the port driver synchronously (ie wait for completion).Arguments: Fdo - Supplies the device object which represents the logical unit. The CDB is already completed along with the SRB CDB size and request timeout value. Buffer Address - Supplies the address of the buffer.This routine is called from the Interpret Sense routine, when a request sense returns data indicating that a drive must be powered up.This routine may also be called from a class driver's error handler, or anytime a non-critical start device should be sent to the device.