Função StorPortStateChangeDetected (storport.h)

Notifica o driver de porta storport de uma alteração de estado para um LUN (número de unidade lógica), porta HBA (adaptador de barramento de host) ou dispositivo de destino.

Sintaxe

ULONG StorPortStateChangeDetected(
  [in]           PVOID            HwDeviceExtension,
  [in]           ULONG            ChangedEntity,
  [in]           PSTOR_ADDRESS    Address,
  [in]           ULONG            Attributes,
  [in, optional] PHW_STATE_CHANGE HwStateChange,
  [in, optional] PVOID            HwStateChangeContext
);

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.

[in] ChangedEntity

Sinalizadores que indicam as entidades cujo estado foi alterado. Essa é uma combinação OR bit a bit desses valores:

Valor Significado
STATE_CHANGE_LUN
1 (0x1)
O estado LUN foi alterado.
STATE_CHANGE_TARGET
2 (0x2)
O estado de destino foi alterado.
STATE_CHANGE_BUS
4 (0x4)
O estado do barramento ou da porta foi alterado.

[in] Address

O endereço da entidade com a alteração de estado. O valor do endereço não pode ser alterado até que o retorno de chamada em HwStateChange seja invocado. Se Address estiver alocado na memória, a memória deverá ser liberada pela rotina de retorno de chamada.

[in] Attributes

Atributos associados à entidade. Estas são uma combinação OR bit a bit do seguinte:

Valor Significado
ATTRIBUTE_VM_PASSTHROUGH_LUN
Os LUNs são reservados para uso de máquina virtual.

[in, optional] HwStateChange

Um ponteiro para uma rotina de retorno de chamada fornecida pelo miniporto. Se estiver presente, o driver storport chamará essa rotina quando o driver terminar de processar essa notificação de alteração de estado.

[in, optional] HwStateChangeContext

Um valor de contexto fornecido pelo miniporto que é incluído quando o conjunto de rotina em HwStateChange é chamado.

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 ou o tipo de entidade é inválido.
STOR_STATUS_UNSUCCESSFUL
Uma notificação anterior está em processo e esta não pode ser agendada.

Comentários

Uma chamada bem-sucedida para StorPortStateChangeDetected resulta na renumeração da entidade alterada.

Somente uma solicitação de alteração de estado pode estar ativa a qualquer momento. Se um miniporto precisar fazer outra chamada StorPortStateChangeDetected , ele deverá fornecer um retorno de chamada HwStateChange e fazer outra chamada para StorPortStateChangeDetected após o retorno de chamada para HwStateChange ocorrer. Se um miniporto quiser indicar várias alterações de estado ao mesmo tempo, o miniporto poderá chamar StorPortStateChangeDetected uma vez, com entidades alteradas definidas em ChangedEntity que inclui todas as alterações de estado atuais.

Se vários sinalizadores forem especificados em ChangedEntity, o sinalizador com maior valor terá precedência sobre os menores.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível em Windows 8 e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho storport.h (inclua Storport.h)
IRQL Qualquer

Confira também

HwStorStateChange