Поделиться через


Функция StorPortAcquireMSISpinLock (storport.h)

Подпрограмма StorPortAcquireMSISpinLock получает блокировку спина с сигналом о прерывании сообщения (MSI), связанную с указанным сообщением.

Синтаксис

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

Параметры

[in] HwDeviceExtension

Указатель на расширение аппаратного устройства для адаптера шины узла (HBA).

MessageId

Идентификатор сообщения, спин-блокировка которого получает вызывающий объект.

[in] OldIrql

Указатель на хранилище для исходного значения IRQL, которое будет использоваться в последующем вызове StorPortReleaseMSISpinLock.

Возвращаемое значение

StorPortAcquireMSISpinLock возвращает одно из следующих значений:

Код возврата Описание
STOR_STATUS_NOT_IMPLEMENTED Эта функция не реализована в активной операционной системе.
STOR_STATUS_SUCCESS Указывает, что спин-блокировка была успешно получена.
STOR_STATUS_INVALID_PARAMETER HwDeviceExtension имеет значение NULL.

Комментарии

Драйвер мини-порта вызывает подпрограмму StorPortAcquireMSISpinLock , чтобы получить блокировку спина MSI для определенного сообщения. Чтобы освободить блокировку спина, драйвер мини-порта вызывает подпрограмму StorPortReleaseMSISpinLock . Эта подпрограмма используется драйверами минипорта для получения блокировки спина MSI для отдельного сообщения, только если член InterruptSynchronizationModeструктуры PORT_CONFIGURATION_INFORMATION имеет значение InterruptSynchronizePerMessage.

Если мини-порту необходимо синхронизировать со всеми сообщениями, он может использовать один вызов StorPortAcquireSpinLock , который получит блокировку для каждого сообщения в правильном порядке.

Требования

Требование Значение
Минимальная версия клиента Эта подпрограмма доступна начиная с Windows Vista.
Целевая платформа Универсальное
Верхняя часть storport.h (включая Storport.h)
IRQL Любой уровень

См. также раздел

PORT_CONFIGURATION_INFORMATION

StorPortAcquireSpinLock

StorPortReleaseMSISpinLock