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 |