VOID ScsiPortNotification(NotificationType, HwDeviceExtension, ...)
IN SCSI_NOTIFICATION_TYPE NotificationType;
IN PVOID HwDeviceExtension;
Notifies the port driver if the HBA indicates that certain SCSI error conditions occurred during the operation.
Notification | Types |
---|---|
RequestComplete | Indicates the supplied Srb has finished. After this notification, the OS-specific port driver owns the request, so it must not be accessed by the HBA miniport driver. |
NextRequest | Indicates the HBA miniport driver is ready for another request. This notification should be sent from the HW_STARTIO routine, as soon as the HBA miniport driver is ready for another request. |
NextLuRequest | Indicates that the host bus adapter is ready for a another request and that an additional request can be sent for the specified logical unit. This value should be used only if the HBA can queue multiple requests and support auto request sense or tagged queuing. |
ResetDetected | Indicates that the HBA has detected a reset on the SCSI bus. After this notification, the HBA miniport driver is still responsible for completing any active requests. |
CallDisableInterrupts | Indicates that the miniport driver requires system interrupts to be re-disabled. While system interrupts remain enabled, the miniport driver's HW_INTERRUPT routine will not be called. |
CallEnableInterrupts | Indicates that the miniport driver would like system interrupts re-enabled and passes the miniport's callback routine. Normally the miniport driver uses this notification to enable interrupts on the HBA. |
RequestTimerCall | Indicates the miniport has requested a specified routine be called in a requested number of microseconds. This parameter requires two additional arguments. |
A pointer to HW_TIMER, which is called after the timeout period specified in TimerValue. | |
TimerValue is a ULONG in microseconds. Note that the resolution of the timer is approximately 10 milliseconds. |
This function is used to notify the OS-specific port driver of various events.
ScsiPortNotification is called twice for each call to the miniport's HwStartIo routine. Once with the NotificationType NextRequest or NextLuRequest if the miniport supports tagged queuing or multiple requests per lu, and with a NotificationType RequestComplete and the just satisfied request.