ACCESS_RANGE Struktur (storport.h)
Ein ACCESS_RANGE beschreibt einen Speicher- oder E/A-Portbereich, der von einem HBA verwendet wird.
Syntax
typedef struct _ACCESS_RANGE {
STOR_PHYSICAL_ADDRESS RangeStart;
ULONG RangeLength;
BOOLEAN RangeInMemory;
} ACCESS_RANGE, *PACCESS_RANGE;
Angehörige
RangeStart
Enthält eine physische Adresse, die die busrelative Basisadresse eines Bereichs angibt, der von der HBA verwendet wird. Der Wert dieses Elements kann aus einem der AccessRanges--Elemente in der PORT_CONFIGURATION_INFORMATION-Struktur abgerufen werden. Dies ist eine Adresse, die an StorPortGetDeviceBaseübergeben werden kann.
RangeLength
Gibt die Größe, in Bytes oder die Anzahl der Ports im Bereich an. Ein Miniporttreiber muss sicherstellen, dass dieser Wert mit dem vom Adapter decodierten Bereich übereinstimmt. Wenn die HBA beispielsweise sieben Register verwendet, aber auf acht reagiert, sollte dieses Element auf 8 festgelegt werden.
RangeInMemory
Gibt an, dass sich der Bereich im Arbeitsspeicher befindet, wenn TRUE-und nicht im E/A-Leerzeichen. Wenn FALSE-, befindet sich der Bereich im E/A-Leerzeichen.
Bemerkungen
Jede ACCESS_RANGE ist ein AccessRanges Arrayelement innerhalb der PORT_CONFIGURATION_INFORMATION Struktur, die an die HwStorFindAdapter Routine eines Miniporttreibers übergeben wird.
Storport weist Speicher für die Zugriffsbereiche zu und initialisiert das AccessRanges Member. Die HwStorFindAdapter Miniport-Fahrer sollte nur die angegebenen Adressen verwenden und niemals versuchen, andere HBAs auf demselben Bus mithilfe von Adressen ihrer eigenen Entwicklung zu finden. Der Versuch, auf andere busrelative Port- oder Speicherbereiche zuzugreifen, wenn der Porttreiber Bereichsinformationen bereitgestellt hat, insbesondere in x86-Systemen, in denen einige Geräte im realen x86-Modus initialisiert werden, können dazu führen, dass andere Geräte im Bus initialisiert werden oder sogar dazu führen, dass das System den Startvorgang fehlschlägt.
Anforderungen
Anforderung | Wert |
---|---|
Header- | storport.h (include Srb.h, Storport.h, Strmini.h) |