Compartilhar via


Função StorPortAsyncNotificationDetected (storport.h)

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

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 miniport. 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 miniporte 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 status.

Flags

O status notificações 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 status podem ser definidos com o único valor de RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS.

Valor Significado
RAID_ASYNC_NOTIFY_FLAG_MEDIA_STATUS
Notifique o 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.

Retornar valor

Um valor 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 no 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.

Comentários

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

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

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

Requisitos

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