StorPortAcquireMSISpinLock function

The StorPortAcquireMSISpinLock routine acquires the message signaled interrupt (MSI) spin lock that is associated with the specified message.

Syntax

ULONG StorPortAcquireMSISpinLock(
  PVOID  HwDeviceExtension,
  ULONG  MessageId,
  PULONG OldIrql
);

Parameters

HwDeviceExtension

A pointer to the hardware device extension for the host bus adapter (HBA).

MessageId

TBD

OldIrql

A pointer to the storage for the original IRQL value to be used in a subsequent call to StorPortReleaseMSISpinLock.

Return Value

StorPortAcquireMSISpinLock returns one of the following values:

Return code Description
STOR_STATUS_NOT_IMPLEMENTED
This function is not implemented on the active operating system.
STOR_STATUS_SUCCESS
Indicates that the spin lock was acquired successfully.
STOR_STATUS_INVALID_PARAMETER
The HwDeviceExtension was NULL.

Remarks

A miniport driver calls the StorPortAcquireMSISpinLock routine to acquire the MSI spin lock for a particular message. To release the spin lock, the miniport driver calls the StorPortReleaseMSISpinLock routine. This routine is used by a miniport drivers to acquire a the MSI spin lock for an individual message only when the InterruptSynchronizationMode member of the PORT_CONFIGURATION_INFORMATION structure is set to InterruptSynchronizePerMessage.

When a miniport needs to synchronize with all messages, it can use one call to StorPortAcquireSpinLock which will acquire a lock for each message in the proper order.

Requirements

   
Windows version This routine is available starting with Windows Vista.
Target Platform Universal
Header storport.h (include Storport.h)
IRQL Any level

See Also

PORT_CONFIGURATION_INFORMATION

StorPortAcquireSpinLock

StorPortReleaseMSISpinLock