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:
[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 |
---|---|
|
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 |
---|---|
|
A notificação de alteração de estado está agendada para processamento. |
|
O tipo de endereço ou o tipo de entidade é inválido. |
|
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 |