Fonction StorPortStateChangeDetected (storport.h)
Avertit le pilote de port Storport d’un changement d’état pour un numéro d’unité logique (LUN), un port HBA (Host Bus Adapter) ou un appareil 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 adaptateur 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 que le pilote miniport a appelé 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 OR au niveau du bit de ces valeurs :
Valeur | Signification |
---|---|
|
L’état du LUN a changé. |
|
L’état cible a changé. |
|
L’état du bus ou du port a changé. |
[in] Address
Adresse de l’entité avec le changement d’état. La valeur de l’adresse ne peut pas changer tant que le rappel dans HwStateChange n’est pas appelé. Si l’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 OR au niveau du bit des éléments suivants :
Valeur | Signification |
---|---|
|
Les LUN sont réservés à l’utilisation des machines virtuelles. |
[in, optional] HwStateChange
Pointeur vers une routine de rappel fournie par le miniport. Le cas échéant, le pilote Storport appelle cette routine lorsque le pilote a terminé de traiter cette notification de changement 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 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 |
---|---|
|
Le traitement de la notification de changement d’état est planifié. |
|
Le type d’adresse ou le type d’entité n’est pas valide. |
|
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 changement 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 . Si un miniport souhaite indiquer plusieurs changements d’état en même temps, le miniport peut appeler StorPortStateChangeDetected une fois, les entités modifiées étant définies dans ChangedEntity qui inclut toutes les modifications d’état actuelles.
Si plusieurs indicateurs sont spécifiés dans ChangedEntity, l’indicateur ayant une valeur supérieure sera prioritaire sur les indicateurs inférieurs.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 8 et versions ultérieures de Windows. |
Plateforme cible | Universal |
En-tête | storport.h (inclure Storport.h) |
IRQL | Quelconque |