Partager via


StorPortAsyncNotificationDetected, fonction (storport.h)

Un pilote de miniport de stockage appelle StorPortAsyncNotificationDetected pour avertir le pilote Storport d’un événement de modification de l’état de l’appareil de stockage.

La notification est mise en file d’attente en tant qu’élément de travail pour le traitement différé à DISPATCH_LEVEL ou en bas IRQL.

Syntaxe

ULONG StorPortAsyncNotificationDetected(
  [in] PVOID         HwDeviceExtension,
       PSTOR_ADDRESS Address,
       ULONGLONG     Flags
);

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique matériel. Il s’agit d’une zone de stockage par HBA que le pilote de port alloue et initialise pour le compte du pilote miniport. Les pilotes miniport stockent généralement des informations spécifiques à l’adaptateur HBA dans cette extension, telles que l’état de l’adaptateur HBA et les plages d’accès mappées pour l’adaptateur HBA. Cette zone est disponible pour le pilote miniport immédiatement après l’appel du pilote miniport StorPortInitialize. Le pilote de port libère cette mémoire lorsqu’il supprime l’appareil.

Address

Adresse de l’appareil de stockage avec un événement de modification d’état.

Flags

Notifications d’état à indiquer à Storport.

Le paramètre Indicateurs contient une combinaison OR au niveau du bit des notifications d’état. Toutes les valeurs d’état peuvent être définies avec la valeur unique RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS.

Valeur Signification
RAID_ASYNC_NOTIFY_FLAG_MEDIA_STATUS
Informez Storport qu’une modification de média s’est produite.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_STATUS
Informez Storport que l’état fonctionnel de l’appareil de stockage a changé.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION
Informez Storport qu’un rôle opérationnel de l’appareil de stockage a changé.

Valeur de retour

Valeur d’état indiquant le résultat de la notification. Il peut s’agir de l’une des valeurs suivantes :

Retourner le code Description
STOR_STATUS_SUCCESS
La notification de modification d’état est planifiée pour le traitement.
STOR_STATUS_INVALID_PARAMETER
Type d’adresse non valide.

-ou-

HwDeviceExtension est NULL.

-ou-

indicateurs contient une valeur non définie.

STOR_STATUS_INVALID_DEVICE_REQUEST
Impossible de trouver l’unité d’appareil de stockage à l’adresse .

-ou-

L’appareil de stockage ne prend pas en charge les notifications asynchrones.

STOR_STATUS_BUSY
Une notification antérieure est en cours et celle-ci ne peut pas être planifiée.

Remarques

Un miniport peut détecter les événements d’état dans son HwStorInterrupt routine et appeler StorPortAsyncNotificationDetected pour mettre en file d’attente et traiter la notification de modification d’état ultérieurement à un irQL inférieur.

Lorsqu’elle est traitée par Storport, la notification d’événement d’état est transférée au pilote de classe de stockage pour lancer les actions de réponse système nécessaires.

Si le paramètre Flags est 0, Storport indique toutes les valeurs d’état dans sa notification au pilote de classe de stockage.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
plateforme cible Universel
d’en-tête storport.h (include Storport.h)
IRQL Quelconque