structure ACCESS_RANGE (storport.h)
Une ACCESS_RANGE décrit une plage de ports mémoire ou E/S utilisée par un adaptateur HBA.
Syntaxe
typedef struct _ACCESS_RANGE {
STOR_PHYSICAL_ADDRESS RangeStart;
ULONG RangeLength;
BOOLEAN RangeInMemory;
} ACCESS_RANGE, *PACCESS_RANGE;
Membres
RangeStart
Contient une adresse physique qui spécifie l’adresse de base relative du bus d’une plage utilisée par l’adaptateur HBA. La valeur de ce membre peut être obtenue à partir de l’un des éléments AccessRanges de la structure PORT_CONFIGURATION_INFORMATION . Il s’agit d’une adresse qui peut être transmise à StorPortGetDeviceBase.
RangeLength
Spécifie la taille, en octets ou le nombre de ports dans la plage. Un pilote miniport doit s’assurer que cette valeur correspond à la plage réellement décodée par l’adaptateur. Par exemple, si l’adaptateur HBA utilise sept registres mais répond à huit, ce membre doit être défini sur 8.
RangeInMemory
Indique que la plage est en mémoire quand TRUE, plutôt que dans l’espace d’E/S. Lorsque la valeur EST FALSE, la plage se trouve dans l’espace E/S.
Remarques
Chaque ACCESS_RANGE est un élément de tableau AccessRanges au sein de la structure PORT_CONFIGURATION_INFORMATION qui est passé à la routine HwStorFindAdapter d’un pilote miniport.
Storport alloue de la mémoire pour les plages d’accès et initialise le membre AccessRanges . La routine HwStorFindAdapter du pilote miniport doit utiliser uniquement les adresses fournies et ne doit jamais tenter de trouver d’autres adaptateurs HBA sur le même bus à l’aide d’adresses de sa propre conception. La tentative d’accès à d’autres ports relatifs au bus ou à d’autres plages de mémoire lorsque le pilote de port a fourni des informations de plage, en particulier dans les systèmes x86 uniquement dans lesquels certains appareils sont initialisés en mode réel x86, peut entraîner l’échec de l’initialisation d’autres appareils sur le bus ou même provoquer l’échec du processus de démarrage du système.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | storport.h (include Srb.h, Storport.h, Strmini.h) |