ScsiPortNotification


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 occured during the operation.

NotificationType

Specifies the type of notification.

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.


HwDeviceExtension

Points to the miniport driver's storage for per-adapter data.

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 queueing or multiple requests per lu, and with a NotificationType RequestComplete and the just satisfied request.