Freigeben über


ScsiPortGetLogicalUnit-Funktion (srb.h)

Die ScsiPortGetLogicalUnit-Routine gibt einen Zeiger auf den Speicherbereich pro LU des Miniporttreibers für ein bestimmtes Peripheriegerät zurück.

Hinweis Der SCSI-Porttreiber und die SCSI-Miniporttreibermodelle können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen wird empfohlen, die Modelle Storport-Treiber und Storport-Miniporttreiber zu verwenden.
 

Syntax

SCSIPORT_API PVOID ScsiPortGetLogicalUnit(
  [in] PVOID HwDeviceExtension,
  [in] UCHAR PathId,
  [in] UCHAR TargetId,
  [in] UCHAR Lun
);

Parameter

[in] HwDeviceExtension

Zeiger auf die Hardwaregeräteerweiterung. Hierbei handelt es sich um einen HBA-Speicherbereich, den der Porttreiber im Namen des Miniporttreibers ordnet und initialisiert. Miniporttreiber speichern normalerweise HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand des HBA und die zugeordneten Zugriffsbereiche des HBA. Dieser Bereich steht dem Miniporttreiber im DeviceExtension-HwDeviceExtension-Member> des HBA-Geräteobjekts unmittelbar nach dem Aufruf von ScsiPortInitialize durch den Miniporttreiber zur Verfügung. Der Porttreiber gibt diesen Arbeitsspeicher frei, wenn er das Gerät entfernt.

[in] PathId

Gibt den SCSI-Bus an.

[in] TargetId

Identifiziert den Zielcontroller oder das Zielgerät auf dem Bus.

[in] Lun

Gibt die logische Einheitennummer des Zielgeräts an.

Rückgabewert

ScsiPortGetLogicalUnit gibt einen Zeiger auf den Speicherbereich des Miniporttreibers für die angeforderte logische Einheit zurück. Wenn der betriebssystemspezifische Porttreiber diese logische Einheit als nicht vorhanden betrachtet, gibt er NULL zurück.

Hinweise

ScsiPortGetLogicalUnit ist irrelevant, wenn die DriverEntry-Routine des Miniporttreibers null für luExtensionSize im HW_INITIALIZATION_DATA angegeben hat, wenn ScsiPortInitialize aufgerufen wurde. Andernfalls weist der betriebssystemspezifische Porttreiber eine Reihe von LU-Erweiterungen der angegebenen Größe für den zu verwendenden Miniporttreiber zu und initialisiert sie mit Nullen.

Pro LU-Speicher kann verwendet werden, um Daten zu speichern, die für ein bestimmtes Peripheriegerät relevant sind, z. B. gespeicherte Datenzeiger. Um auf diesen Bereich zuzugreifen, ruft der Miniporttreiber ScsiPortGetLogicalUnit auf, wenn der Treiber Informationen über den Zustand oder den aktuellen Betrieb für ein bestimmtes Peripheriegerät behält.

Der betriebssystemspezifische Porttreiber kann eine logische Einheit als nicht vorhanden betrachten, wenn keine aktive Anforderung für diese logische Einheit vorhanden ist und das Gerät nie erfolgreich ausgewählt wurde.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile srb.h (einschließlich Miniport.h, Scsi.h)
Bibliothek Scsiport.lib

Weitere Informationen

DriverEntry of SCSI Miniport Driver

HW_INITIALIZATION_DATA (SCSI)

ScsiPortInitialize

ScsiPortMoveMemory