Partager via


Fonction StorPortAsyncNotificationDetected (storport.h)

Un pilote de miniport de stockage appelle StorPortAsyncNotificationDetected pour notifier le pilote Storport d’un périphérique de stockage status événement de modification.

La notification est mise en file d’attente en tant qu’élément de travail pour un traitement différé au DISPATCH_LEVEL ou à une valeur IRQL inférieure.

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 à HBA dans cette extension, telles que l’état du 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 que le pilote miniport appelle StorPortInitialize. Le pilote de port libère cette mémoire lorsqu’il supprime l’appareil.

Address

Adresse du périphérique de stockage avec un événement de modification status.

Flags

Le status notifications à indiquer à Storport.

Le paramètre Flags contient une combinaison or au niveau du bit de notifications status. Toutes les valeurs status peuvent être définies avec la valeur de RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS unique.

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 la status fonctionnelle du périphérique de stockage a changé.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION
Informez Storport qu’un rôle opérationnel du périphérique de stockage a changé.

Valeur retournée

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

Code de retour Description
STOR_STATUS_SUCCESS
Le traitement de la notification de changement d’état est planifié.
STOR_STATUS_INVALID_PARAMETER
Type d’adresse non valide.

-ou-

HwDeviceExtension a la valeurNULL.

-ou-

Les indicateurs contiennent une valeur non définie.

STOR_STATUS_INVALID_DEVICE_REQUEST
L’unité de périphérique de stockage est introuvable à l’adresse.

-ou-

Le périphérique de stockage ne prend pas en charge les notifications asynchrones.

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

Remarques

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

Lorsqu’elle est traitée par Storport, la notification d’événement status 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 a la valeur 0, Storport indique toutes les valeurs status dans sa notification au pilote de classe de stockage.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Plateforme cible Universal
En-tête storport.h (inclure Storport.h)
IRQL Quelconque