Freigeben über


ScsiPortGetLogicalUnit-Funktion (srb.h)

Die ScsiPortGetLogicalUnit Routine gibt einen Zeiger auf den Miniporttreiber pro LU-Speicherbereich 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 empfehlen wir die Verwendung des Storport-Treibers und Storport Miniport Treibermodelle.
 

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. 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] PathId

Identifiziert den SCSI-Bus.

[in] TargetId

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

[in] Lun

Identifiziert die logische Einheitennummer des Zielgeräts.

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, wird NULL-zurückgegeben.

Bemerkungen

ScsiPortGetLogicalUnit ist irrelevant, wenn die DriverEntry-Routine des Miniporttreibers für die LuExtensionSize- im HW_INITIALIZATION_DATA angegeben wird, wenn ScsiPortInitializeaufgerufen wird. Andernfalls wird vom betriebssystemspezifischen Porttreiber eine Reihe von LU-Erweiterungen der angegebenen Größe für den zu verwendenden Miniporttreiber zugewiesen und initialisiert.

Per-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 Status oder den aktuellen Vorgang für ein bestimmtes Peripheriegerät unterhä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
Header- srb.h (include Miniport.h, Scsi.h)
Library Scsiport.lib

Siehe auch

DriverEntry des SCSI-Miniporttreibers

HW_INITIALIZATION_DATA (SCSI)-

ScsiPortInitialize-

ScsiPortMoveMemory-