StorPortGetDeviceBase-Funktion (storport.h)

Die StorPortGetDeviceBase-Routine ordnet eine I/O-Adresse dem Systemadressenbereich 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 Auftrag des Miniporttreibers zuordnet und initialisiert. Miniport-Treiber speichern normalerweise HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand der HBA und die zugeordneten Zugriffsbereiche für die HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufruf des Miniporttreibers StorPortInitialize zur Verfügung. Der Porttreiber gibt diesen Speicher frei, wenn er das Gerät entfernt.

[in] BusType

Gibt den Schnittstellentyp des I/O-Buss an, auf dem die HBA verbunden ist. Die HwStorFindAdapter-Routine des Miniporttreibers ruft den Wert für diesen Parameter aus dem AdapterInterfaceType-Element der Eingabe PORT_CONFIGURATION_INFORMATION ab.

[in] SystemIoBusNumber

Gibt die Systemzuweisungsnummer des I/O-Buss an, auf dem die HBA verbunden ist. Die HwStorFindAdapter-Routine ruft den Wert für diesen Parameter aus dem SystemIoBusNumber-Element der Eingabe PORT_CONFIGURATION_INFORMATION ab.

[in] IoAddress

Gibt die vom HBA verwendete Bus-relative Basisadresse eines Bereichs an. Die HwStorFindAdapter-Routine ruft den Wert für diesen Parameter aus einem der AccessRanges-Elemente im PORT_CONFIGURATION_INFORMATION ab, wenn der Porttreiber Bereichskonfigurationsinformationen bereitstellt. Andernfalls kann diese Adresse ein wert sein, der von StorPortGetBusData oder einem vom Miniport bereitgestellten Standardwert zurückgegeben wird. Vermeiden Sie die Verwendung einer Basisadresse von Null, da ihr erfolgreicher Rückgabestatus mit dem Fehlerstatus (NULL) in Konflikt geraten kann.

[in] NumberOfBytes

Gibt die Größe in Bytes des Bereichs an, den die Zuordnung abdecken sollte. Die HwStorFindAdapter-Routine ruft den Wert dieses Parameters aus demselben AccessRanges-Element wie IoAddress ab, wenn der Porttreiber Bereichskonfigurationsinformationen bereitstellt. Andernfalls kann dieser Wert von StorPortGetBusData oder einem vom Miniport bereitgestellten Standard zurückgegeben werden. In jedem Fall darf der Treiber nicht auf die Hardware außerhalb des zurückgegebenen, zugeordneten Bereichs zugreifen.

[in] InIoSpace

TRUE gibt an, dass der zu zugeordnete Bereich im I/O-Bereich liegt, und der Miniporttreiber übergeben in diesem Bereich zugeordnete Adressen an die Storport-Port-Lese-/Schreibroutine, um mit der 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-Members in einem ACCESS_RANGE-Type-Element rückgängig machen muss, bevor es an StorPortGetDeviceBase als InIoSpace-Argument übergeben wird. FALSE gibt an, dass sich der zu zugeordnete Bereich im Arbeitsspeicher befindet.

Rückgabewert

Eine zugeordnete, logische Basisadresse, die der im IoAddress-Parameter angegebenen Bus-relativen Adresse entspricht.

Bemerkungen

Jeder Miniporttreiber muss zugeordnete, logische Zugriffsbereichsadressen an die Storport-Port-Lese-/Schreibroutine und die Storport-Register-Lese-/Schreibroutine übergeben, wenn sie mit ihren HBA(n) kommunizieren.

Diese Routine unterstützt nur diese Adressen, die dem Treiber vom System-Plug & Play (PnP)-Manager zugewiesen wurden.

Anforderungen

   
Zielplattform Universell
Header storport.h (einschließlich Storport.h)
Bibliothek Storport.lib

Weitere Informationen

StorPortFreeDeviceBase