Partilhar via


Função StorPortAsyncNotificationDetected (storport.h)

Um driver de miniporto de armazenamento chama StorPortAsyncNotificationDetected para notificar o driver storport de um evento de alteração de status do dispositivo de armazenamento.

A notificação é enfileirada como um item de trabalho para processamento adiado em DISPATCH_LEVEL ou IRQL inferior.

Sintaxe

ULONG StorPortAsyncNotificationDetected(
  [in] PVOID         HwDeviceExtension,
       PSTOR_ADDRESS Address,
       ULONGLONG     Flags
);

Parâmetros

[in] HwDeviceExtension

Um ponteiro para a extensão do dispositivo de hardware. Essa é uma área de armazenamento por HBA que o driver de porta aloca e inicializa em nome do driver de miniporto. Os drivers de miniporto geralmente armazenam informações específicas do HBA nessa extensão, como o estado do HBA e os intervalos de acesso mapeados para o HBA. Essa área está disponível para o driver de miniporto imediatamente após o driver de miniporto chamar StorPortInitialize. O driver de porta libera essa memória quando remove o dispositivo.

Address

O endereço do dispositivo de armazenamento com um evento de alteração de status.

Flags

As notificações de status para indicar ao Storport.

O parâmetro Flags contém uma combinação OR bit a bit de notificações de status. Todos os valores de status podem ser definidos com o único valor de RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS.

Valor Significado
RAID_ASYNC_NOTIFY_FLAG_MEDIA_STATUS
Notifique Storport de que ocorreu uma alteração de mídia.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_STATUS
Notifique o Storport de que o status funcional do dispositivo de armazenamento foi alterado.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION
Notifique o Storport de que uma função operacional do dispositivo de armazenamento foi alterada.

Valor de retorno

Um valor de status que indica o resultado da notificação. Esse pode ser um destes valores:

Código de retorno Descrição
STOR_STATUS_SUCCESS
A notificação de alteração de estado está agendada para processamento.
STOR_STATUS_INVALID_PARAMETER
O tipo de endereço inválido.

-ou-

HwDeviceExtension é NULL .

-ou-

Flags contém um valor indefinido.

STOR_STATUS_INVALID_DEVICE_REQUEST
A unidade do dispositivo de armazenamento não pode ser encontrada em endereço.

-ou-

O dispositivo de armazenamento não dá suporte a notificações assíncronas.

STOR_STATUS_BUSY
Uma notificação anterior está em processo e esta não pode ser agendada.

Observações

Um miniporto pode detectar eventos de status em seu rotina de HwStorInterrupt e chamar StorPortAsyncNotificationDetected para enfileirar e processar a notificação de alteração de status posteriormente em um IRQL inferior.

Quando processada pelo Storport, a notificação de evento de status é encaminhada para o driver de classe de armazenamento para iniciar todas as ações de resposta do sistema necessárias.

Se o parâmetro Flags for 0, o Storport indicará todos os valores de status em sua notificação para o driver de classe de armazenamento.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 8
da Plataforma de Destino Universal
cabeçalho storport.h (inclua Storport.h)
IRQL Qualquer