Compartir a través de


Función StorPortStateChangeDetected (storport.h)

Notifica al controlador de puerto storport un cambio de estado para un número de unidad lógica (LUN), el puerto del adaptador de bus host (HBA) o el dispositivo de destino.

Sintaxis

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

Puntero a la extensión de dispositivo de hardware. Se trata de un área de almacenamiento por HBA que el controlador de puerto asigna e inicializa en nombre del controlador de minipuerto. Los controladores de minipuerto suelen almacenar información específica de HBA en esta extensión, como el estado del HBA y los intervalos de acceso asignados para el HBA. Esta área está disponible para el controlador de minipuerto inmediatamente después de que el controlador de minipuerto llame a StorPortInitialize. El controlador de puerto libera esta memoria cuando quita el dispositivo.

[in] ChangedEntity

Marcas que indican las entidades cuyo estado ha cambiado. Se trata de una combinación OR bit a bit de estos valores:

Valor Significado
STATE_CHANGE_LUN
1 (0x1)
El estado de LUN ha cambiado.
STATE_CHANGE_TARGET
2 (0x2)
El estado de destino ha cambiado.
STATE_CHANGE_BUS
4 (0x4)
El estado del puerto o del bus ha cambiado.

[in] Address

Dirección de la entidad con el cambio de estado. El valor de dirección no puede cambiar hasta que se invoque la devolución de llamada en HwStateChange . Si la dirección se asigna en memoria, la rutina de devolución de llamada debe liberar la memoria.

[in] Attributes

Atributos asociados a la entidad. Se trata de una combinación OR bit a bit de lo siguiente:

Valor Significado
ATTRIBUTE_VM_PASSTHROUGH_LUN
Los LUN están reservados para el uso de máquinas virtuales.

[in, optional] HwStateChange

Puntero a una rutina de devolución de llamada proporcionada por el miniporte. Si está presente, el controlador storport llamará a esta rutina cuando el controlador termine de procesar esta notificación de cambio de estado.

[in, optional] HwStateChangeContext

Valor de contexto proporcionado por miniporte que se incluye cuando se llama a la rutina establecida en HwStateChange .

Valor devuelto

Valor de estado que indica el resultado de la notificación. Puede ser uno de estos valores:

Código devuelto Descripción
STOR_STATUS_SUCCESS
La notificación de cambio de estado está programada para su procesamiento.
STOR_STATUS_INVALID_PARAMETER
El tipo de dirección o el tipo de entidad no son válidos.
STOR_STATUS_UNSUCCESSFUL
Una notificación previa está en proceso y esta no se puede programar.

Comentarios

Una llamada correcta a StorPortStateChangeDetected da como resultado una nueva enumeración de la entidad modificada.

Solo una solicitud de cambio de estado puede estar activa en cualquier momento. Si una miniporte necesita realizar otra llamada a StorPortStateChangeDetected , debe proporcionar una devolución de llamada HwStateChange y realizar otra llamada a StorPortStateChangeDetected después de que se produzca la devolución de llamada a HwStateChange . Si un miniport quiere indicar varios cambios de estado al mismo tiempo, el miniport puede llamar a StorPortStateChangeDetected una vez, con entidades modificadas establecidas en ChangedEntity que incluya todos los cambios de estado actuales.

Si se especifican varias marcas en ChangedEntity, la marca con mayor valor tendrá prioridad sobre las menores.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 8 y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado storport.h (incluya Storport.h)
IRQL Any

Consulte también

HwStorStateChange