Функция 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 | Любой уровень |