Compartilhar via


Função StorPortAcquireMSISpinLock (storport.h)

A rotina StorPortAcquireMSISpinLock adquire o bloqueio de rotação msi (interrupção sinalizada por mensagem) associado à mensagem especificada.

Sintaxe

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

Parâmetros

[in] HwDeviceExtension

Um ponteiro para a extensão do dispositivo de hardware para o HBA (adaptador de barramento de host).

MessageId

O identificador da mensagem cujo bloqueio de rotação o chamador adquire.

[in] OldIrql

Um ponteiro para o armazenamento do valor IRQL original a ser usado em uma chamada subsequente para StorPortReleaseMSISpinLock.

Retornar valor

StorPortAcquireMSISpinLock retorna um dos seguintes valores:

Código de retorno Descrição
STOR_STATUS_NOT_IMPLEMENTED Essa função não é implementada no sistema operacional ativo.
STOR_STATUS_SUCCESS Indica que o bloqueio de rotação foi adquirido com êxito.
STOR_STATUS_INVALID_PARAMETER O HwDeviceExtension era NULL.

Comentários

Um driver de miniporto chama a rotina StorPortAcquireMSISpinLock para adquirir o bloqueio de rotação msi para uma mensagem específica. Para liberar o bloqueio de rotação, o driver de miniporto chama a rotina StorPortReleaseMSISpinLock . Essa rotina é usada por um miniporte drivers para adquirir um bloqueio de rotação MSI para uma mensagem individual somente quando o membro InterruptSynchronizationMode da estrutura PORT_CONFIGURATION_INFORMATION é definido como InterruptSynchronizePerMessage.

Quando um miniporto precisa ser sincronizado com todas as mensagens, ele pode usar uma chamada para StorPortAcquireSpinLock , que adquirirá um bloqueio para cada mensagem na ordem adequada.

Requisitos

Requisito Valor
Cliente mínimo com suporte Essa rotina está disponível a partir do Windows Vista.
Plataforma de Destino Universal
Cabeçalho storport.h (inclua Storport.h)
IRQL Qualquer nível

Confira também

PORT_CONFIGURATION_INFORMATION

StorPortAcquireSpinLock

StorPortReleaseMSISpinLock