StorPortAcquireMSISpinLock-Funktion (storport.h)

Die StorPortAcquireMSISpinLock-Routine ruft die MSI-Drehsperre (Message Signaled Interrupt) ab, die der angegebenen Nachricht zugeordnet ist.

Syntax

ULONG StorPortAcquireMSISpinLock(
  [in] PVOID  HwDeviceExtension,
       ULONG  MessageId,
  [in] PULONG OldIrql
);

Parameter

[in] HwDeviceExtension

Ein Zeiger auf die Hardwaregeräteerweiterung für den Host Bus Adapter (HBA).

MessageId

Der Bezeichner der Nachricht, deren Drehsperre der Aufrufer abruft.

[in] OldIrql

Ein Zeiger auf den Speicher für den ursprünglichen IRQL-Wert, der in einem nachfolgenden Aufruf von StorPortReleaseMSISpinLock verwendet werden soll.

Rückgabewert

StorPortAcquireMSISpinLock gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STOR_STATUS_NOT_IMPLEMENTED Diese Funktion ist auf dem aktiven Betriebssystem nicht implementiert.
STOR_STATUS_SUCCESS Gibt an, dass die Spinsperre erfolgreich erworben wurde.
STOR_STATUS_INVALID_PARAMETER HwDeviceExtension war NULL.

Hinweise

Ein Miniporttreiber ruft die StorPortAcquireMSISpinLock-Routine auf, um die MSI-Spinsperre für eine bestimmte Nachricht abzurufen. Um die Spinsperre zu lösen, ruft der Miniporttreiber die StorPortReleaseMSISpinLock-Routine auf. Diese Routine wird von einem Miniporttreiber verwendet, um eine MSI-Spinsperre für eine einzelne Nachricht nur abzurufen, wenn das InterruptSynchronizationMode-Element der PORT_CONFIGURATION_INFORMATION-Struktur auf InterruptSynchronizePerMessage festgelegt ist.

Wenn ein Miniport mit allen Nachrichten synchronisiert werden muss, kann er einen Aufruf von StorPortAcquireSpinLock verwenden, der eine Sperre für jede Nachricht in der richtigen Reihenfolge erhält.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Diese Routine ist ab Windows Vista verfügbar.
Zielplattform Universell
Header storport.h (einschließlich Storport.h)
IRQL Beliebige Ebene

Weitere Informationen

PORT_CONFIGURATION_INFORMATION

StorPortAcquireSpinLock

StorPortReleaseMSISpinLock