// storport.h
ULONG StorPortAcquireMSISpinLock(
[in] PVOID HwDeviceExtension,
ULONG MessageId,
[in] PULONG OldIrql
);
View the official Windows Driver Kit DDI reference
No description available.
The StorPortAcquireMSISpinLock routine acquires the message signaled interrupt (MSI) spin lock that is associated with the specified message.
HwDeviceExtension
[in]A pointer to the hardware device extension for the host bus adapter (HBA).
MessageId
The identifier of the message whose spin lock the caller acquires.
OldIrql
[in]A pointer to the storage for the original IRQL value to be used in a subsequent call to StorPortReleaseMSISpinLock.
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. |
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 an 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.
PORT_CONFIGURATION_INFORMATION