Función StorPortAsyncNotificationDetected (storport.h)
Un controlador de miniporte de almacenamiento llama a StorPortAsyncNotificationDetected para notificar al controlador de Storport un evento de cambio de estado del dispositivo de almacenamiento.
La notificación se pone en cola como un elemento de trabajo para el procesamiento diferido en DISPATCH_LEVEL o irQL inferior.
Sintaxis
ULONG StorPortAsyncNotificationDetected(
[in] PVOID HwDeviceExtension,
PSTOR_ADDRESS Address,
ULONGLONG Flags
);
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.
Address
Dirección del dispositivo de almacenamiento con un evento de cambio de estado.
Flags
Las notificaciones de estado que se van a indicar a Storport.
El parámetro Flags contiene una combinación OR bit a bit de notificaciones de estado. Todos los valores de estado se pueden establecer con el valor de RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS único.
Valor devuelto
Valor de estado que indica el resultado de la notificación. Puede ser uno de estos valores:
Código devuelto | Descripción |
---|---|
|
La notificación de cambio de estado está programada para su procesamiento. |
|
El tipo de dirección no es válido.
O bien HwDeviceExtension es NULL. O bien Las marcas contienen un valor indefinido. |
|
No se encuentra la unidad de dispositivo de almacenamiento en la dirección.
O bien El dispositivo de almacenamiento no admite notificaciones asincrónicas. |
|
Una notificación previa está en proceso y esta no se puede programar. |
Comentarios
Un miniport puede detectar eventos de estado en su rutina HwStorInterrupt y llamar a StorPortAsyncNotificationDetected para poner en cola y procesar la notificación de cambio de estado más adelante en un IRQL inferior.
Cuando Storport procesa, la notificación de eventos de estado se reenvía al controlador de clase de almacenamiento para iniciar las acciones de respuesta del sistema necesarias.
Si el parámetro Flags es 0, Storport indicará todos los valores de estado de su notificación al controlador de clase de almacenamiento.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 |
Plataforma de destino | Universal |
Encabezado | storport.h (incluya Storport.h) |
IRQL | Any |