ScsiPortFreeDeviceBase-Funktion (srb.h)
Die ScsiPortFreeDeviceBase Routine gibt eine Reihe von Geräte-E/A- oder Speicherspeicheradressen frei, die zuvor dem Systemadressbereich mit ScsiPortGetDeviceBasezugeordnet wurden.
Syntax
SCSIPORT_API VOID ScsiPortFreeDeviceBase(
[in] PVOID HwDeviceExtension,
[in] PVOID MappedAddress
);
Parameter
[in] HwDeviceExtension
Zeiger auf die Hardwaregeräteerweiterung. Dies ist ein Speicherbereich pro HBA, den der Porttreiber im Namen des Miniporttreibers zuordnet und initialisiert. Miniporttreiber speichern in der Regel HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand der HBA und die zugeordneten Zugriffsbereiche der HBA. Dieser Bereich steht dem Miniporttreiber im DeviceExtension->HwDeviceExtension Mitglied des Geräteobjekts der HBA unmittelbar nach dem Aufruf ScsiPortInitializezur Verfügung. Der Porttreiber gibt diesen Speicher frei, wenn es das Gerät entfernt.
[in] MappedAddress
Zeigen Sie auf die Basisadresse des Bereichs, der freigegeben werden soll. Diese Adresse muss mit der von ScsiPortGetDeviceBasezurückgegebenen Adresse identisch sein.
Rückgabewert
Nichts
Bemerkungen
Wenn die HwScsiFindAdapter Routine eines Miniporttreibers feststellt, dass der Treiber keine bestimmte zugeordnete Basisadresse für einen Adapter benötigt, muss die Zuordnung durch Aufrufen dieser Routine freigegeben werden. Wenn beispielsweise ein Miniporttreiber feststellt, dass es keine unterstützten HBAs für einen bestimmten E/A-Bus gibt, muss er ScsiPortFreeDeviceBase mit jeder zugeordneten Adresse aufrufen, die von ScsiPortGetDeviceBasezurückgegeben wird, wenn Aufrufe dieser Routine ausgeführt wurden.
ScsiPortFreeDeviceBase- kann nur von der HwScsiFindAdapter--Routine des Miniporttreibers aufgerufen werden. Anrufe von anderen Miniporttreiberroutinen führen zu Systemfehlern oder falschen Vorgängen für den Anrufer.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | srb.h (include Miniport.h, Scsi.h) |
Library | Scsiport.lib |