Partager via


StorPortAcquireMSISpinLock, fonction (storport.h)

La routine StorPortAcquireMSISpinLock acquiert le verrou de rotation d’interruption signalé par message (MSI) associé au message spécifié.

Syntaxe

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

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique matériel pour l’adaptateur de bus hôte (HBA).

MessageId

Identificateur du message dont le verrou de rotation est acquis par l’appelant.

[in] OldIrql

Pointeur vers le stockage de la valeur IRQL d’origine à utiliser dans un appel ultérieur à StorPortReleaseMSISpinLock.

Valeur retournée

StorPortAcquireMSISpinLock retourne l’une des valeurs suivantes :

Code de retour Description
STOR_STATUS_NOT_IMPLEMENTED Cette fonction n’est pas implémentée sur le système d’exploitation actif.
STOR_STATUS_SUCCESS Indique que le verrou de rotation a été acquis avec succès.
STOR_STATUS_INVALID_PARAMETER HwDeviceExtension était NULL.

Remarques

Un pilote miniport appelle la routine StorPortAcquireMSISpinLock pour acquérir le verrou de rotation MSI pour un message particulier. Pour libérer le verrouillage de rotation, le pilote miniport appelle la routine StorPortReleaseMSISpinLock . Cette routine est utilisée par un pilote miniport pour acquérir un verrou de rotation MSI pour un message individuel uniquement lorsque le membre InterruptSynchronizationMode de la structure PORT_CONFIGURATION_INFORMATION est défini sur InterruptSynchronizePerMessage.

Lorsqu’un miniport doit se synchroniser avec tous les messages, il peut utiliser un appel à StorPortAcquireSpinLock qui acquiert un verrou pour chaque message dans l’ordre approprié.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Cette routine est disponible à partir de Windows Vista.
Plateforme cible Universal
En-tête storport.h (inclure Storport.h)
IRQL N’importe quel niveau

Voir aussi

PORT_CONFIGURATION_INFORMATION

StorPortAcquireSpinLock

StorPortReleaseMSISpinLock