StorPortGetDeviceBase-Funktion (storport.h)
Die StorPortGetDeviceBase-Routine ordnet eine E/A-Adresse dem Systemadressraum zu.
Syntax
STORPORT_API PVOID StorPortGetDeviceBase(
[in] PVOID HwDeviceExtension,
[in] INTERFACE_TYPE BusType,
[in] ULONG SystemIoBusNumber,
[in] STOR_PHYSICAL_ADDRESS IoAddress,
[in] ULONG NumberOfBytes,
[in] BOOLEAN InIoSpace
);
Parameter
[in] HwDeviceExtension
Ein Zeiger auf die Hardwaregeräteerweiterung. Dies ist ein HBA-Speicherbereich, den der Porttreiber im Namen des Miniporttreibers zuordnet und initialisiert. Miniport-Treiber speichern in dieser Erweiterung in der Regel HBA-spezifische Informationen, z. B. den Status des HBA und die zugeordneten Zugriffsbereiche für den HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufrufen von StorPortInitialize durch den Miniporttreiber zur Verfügung. Der Porttreiber gibt diesen Arbeitsspeicher frei, wenn er das Gerät entfernt.
[in] BusType
Gibt den Schnittstellentyp des E/A-Busses an, mit dem der HBA verbunden ist. Die HwStorFindAdapter-Routine des Miniporttreibers ruft den Wert für diesen Parameter aus dem AdapterInterfaceType-Member des Eingabe-PORT_CONFIGURATION_INFORMATION ab.
[in] SystemIoBusNumber
Gibt die systemseitig zugewiesene Nummer des E/A-Busses an, mit dem der HBA verbunden ist. Die HwStorFindAdapter-Routine ruft den Wert für diesen Parameter aus dem SystemIoBusNumber-Member der Eingabe PORT_CONFIGURATION_INFORMATION ab.
[in] IoAddress
Gibt die busrelative Basisadresse eines Bereichs an, der vom HBA verwendet wird. Die HwStorFindAdapter-Routine ruft den Wert für diesen Parameter aus einem der AccessRanges-Elemente im PORT_CONFIGURATION_INFORMATION ab, wenn der Porttreiber Informationen zur Bereichskonfiguration bereitstellt. Andernfalls kann diese Adresse ein von StorPortGetBusData zurückgegebener Wert oder ein vom Miniporttreiber bereitgestellter Standardwert sein. Vermeiden Sie die Verwendung einer Basisadresse von null, da die erfolgreiche Rückgabe status mit dem Fehler status (NULL) in Konflikt kommen kann.
[in] NumberOfBytes
Gibt die Größe des Bereichs in Byte an, den die Zuordnung abdecken soll. Die HwStorFindAdapter-Routine ruft den Wert dieses Parameters aus demselben AccessRanges-Element wie IoAddress ab, wenn der Porttreiber Informationen zur Bereichskonfiguration bereitstellt. Andernfalls kann dieser Wert von StorPortGetBusData oder von einem vom Miniporttreiber bereitgestellten Standardwert zurückgegeben werden. In jedem Fall darf der Treiber nicht außerhalb des zurückgegebenen zugeordneten Bereichs auf die Hardware zugreifen.
[in] InIoSpace
TRUE gibt an, dass sich der zuzuordnende Bereich im E/A-Bereich befindet, und der Miniporttreiber übergibt zugeordnete Adressen in diesem Bereich an die Lese-/Schreibroutinen des Storport-Ports , um mit dem HBA zu kommunizieren. Die HwStorFindAdapter-Routine ruft den Wert dieses Parameters aus demselben AccessRanges-Element wie IoAddress ab. Beachten Sie, dass ein Miniporttreiber den Wert des InMemorySpace-Elements in einem ACCESS_RANGE-Type-Element umkehren muss, bevor er als InIoSpace-Argument an StorPortGetDeviceBase übergeben wird. FALSE gibt an, dass sich der zu zuordnende Bereich im Arbeitsspeicher befindet.
Rückgabewert
Eine zugeordnete logische Basisadresse, die der im IoAddress-Parameter angegebenen busrelativen Adresse entspricht.
Hinweise
Jeder Miniporttreiber muss zugeordnete, logische Zugriffsbereichsadressen an die Lese-/Schreibroutinen des Storport-Ports und die Storport-Register-Lese -/Schreibroutinen übergeben, wenn er mit seinen HBA(n) kommuniziert.
Diese Routine unterstützt nur die Adressen, die dem Treiber vom PnP-Manager (System Plug & Play) zugewiesen wurden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | storport.h (Storport.h einschließen) |
Bibliothek | Storport.lib |