StorPortAcquireMSISpinLock function (storport.h)
The StorPortAcquireMSISpinLock routine acquires the message signaled interrupt (MSI) spin lock that is associated with the specified message.
Syntax
ULONG StorPortAcquireMSISpinLock(
[in] PVOID HwDeviceExtension,
ULONG MessageId,
[in] PULONG OldIrql
);
Parameters
[in] HwDeviceExtension
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.
[in] 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 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.
Requirements
Requirement | Value |
---|---|
Minimum supported client | This routine is available starting with Windows Vista. |
Target Platform | Universal |
Header | storport.h (include Storport.h) |
IRQL | Any level |