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 |
---|---|
|
L’état du numéro d’unité logique a changé. |
|
L’état cible a changé. |
|
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 |
---|---|
|
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 |
---|---|
|
La notification de modification d’état est planifiée pour le traitement. |
|
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 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 |