Partager via


StorPortStateChangeDetected, fonction (storport.h)

Avertit le pilote de port Storport d’une modification d’état pour un numéro d’unité logique (LUN), un port HBA (Host Bus Adapter) ou un périphérique cible.

Syntaxe

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
);

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.

[in] ChangedEntity

Indicateurs indiquant les entités dont l’état a changé. Il s’agit d’une combinaison ou au niveau du bit de ces valeurs :

Valeur Signification
STATE_CHANGE_LUN
1 (0x1)
L’état du numéro d’unité logique a changé.
STATE_CHANGE_TARGET
2 (0x2)
L’état cible a changé.
STATE_CHANGE_BUS
4 (0x4)
L’état du bus ou du port a changé.

[in] Address

Adresse de l’entité avec la modification de l’état. valeur d’adresse ne peut pas changer tant que le rappel à HwStateChange n’est pas appelé. Si 'adresse est allouée en mémoire, la mémoire doit être libérée par la routine de rappel.

[in] Attributes

Attributs associés à l’entité. Il s’agit d’une combinaison OU au niveau du bit des éléments suivants :

Valeur Signification
ATTRIBUTE_VM_PASSTHROUGH_LUN
Les numéros d’unité logique sont réservés pour une utilisation de machine virtuelle.

[in, optional] HwStateChange

Pointeur vers une routine de rappel fournie par le miniport. S’il est présent, le pilote Storport appelle cette routine lorsque le pilote a terminé de traiter cette notification de modification d’état.

[in, optional] HwStateChangeContext

Valeur de contexte fournie par miniport qui est incluse lorsque la routine définie dans HwStateChange est appelée.

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
Le type d’adresse ou le type d’entité n’est pas valide.
STOR_STATUS_UNSUCCESSFUL
Une notification antérieure est en cours et celle-ci ne peut pas être planifiée.

Remarques

Un appel réussi à StorPortStateChangeDetected entraîne une nouvelle énumération de l’entité modifiée.

Une seule demande de modification d’état peut être active à tout moment. Si un miniport doit effectuer un autre appel StorPortStateChangeDetected, il doit fournir un rappel HwStateChange et effectuer un autre appel à StorPortStateChangeDetected après le rappel à HwStateChange se produit. Si un miniport souhaite indiquer plusieurs modifications d’état en même temps, le miniport peut appeler StorPortStateChangeDetected une seule fois, avec des entités modifiées définies dans ChangedEntity qui inclut toutes les modifications d’état actuelles.

Si plusieurs indicateurs sont spécifiés dans ChangedEntity, l’indicateur dont la valeur est supérieure est prioritaire sur les valeurs inférieures.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 8 et versions ultérieures de Windows.
plateforme cible Universel
d’en-tête storport.h (include Storport.h)
IRQL Quelconque

Voir aussi

HwStorStateChange