Share via


Funzione StorPortGetLogicalUnit (storport.h)

La routine StorPortGetLogicalUnit restituisce un puntatore all'area di archiviazione per unità logica del driver miniport.

Sintassi

STORPORT_API PVOID StorPortGetLogicalUnit(
  [in] PVOID HwDeviceExtension,
  [in] UCHAR PathId,
  [in] UCHAR TargetId,
  [in] UCHAR Lun
);

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo hardware. Si tratta di un'area di archiviazione hbA per ogni area di archiviazione che il driver di porta alloca e inizializza per conto del driver miniport. I driver Miniport archivia in genere informazioni specifiche dell'HBA in questa estensione, ad esempio lo stato dell'HBA e gli intervalli di accesso mappati per l'HBA. Questa area è disponibile per il driver miniport non appena viene chiamata la routine HwStorFindAdapter del driver miniport. Il driver della porta libera questa memoria quando rimuove il dispositivo.

[in] PathId

Identifica il bus SCSI.

[in] TargetId

Identifica il controller di destinazione o il dispositivo nel bus.

[in] Lun

Identifica il numero di unità logica (LU) del dispositivo di destinazione.

Valore restituito

StorPortGetLogicalUnit restituisce un puntatore all'area di archiviazione del driver miniport per l'unità logica richiesta. Se l'unità logica non esiste, restituisce NULL.

Commenti

StorPortGetLogicalUnit è irrilevante se la routine DriverEntry del driver miniport ha specificato zero per LuExtensionSize nel HW_INITIALIZATION_DATA quando ha chiamato StorPortInitialize. In caso contrario, il driver di porta specifico del sistema operativo alloca e inizializza con zeri un set di estensioni LU delle dimensioni specificate per il driver miniport da usare.

L'archiviazione per lu può essere usata per archiviare i dati rilevanti per una determinata periferica, ad esempio i puntatori dati salvati. Per accedere a questa area, il driver miniport chiama StorPortGetLogicalUnit quando il driver mantiene le informazioni sullo stato dell'operazione o corrente per qualsiasi periferica specifica.

Il driver di porta specifico del sistema operativo può considerare un'unità logica inesistente se non è presente alcuna richiesta attiva per tale unità logica e il dispositivo non è mai stato selezionato correttamente.

Nota

Quando il driver miniport chiama StorPortGetLogicalUnit in IRQL = DISPATCH_LEVEL, la funzione acquisisce il blocco di interrupt. La chiamata a StorPortGetLogicalUnit troppo spesso a questo livello irQL influisce sulle prestazioni e sulla scalabilità del driver miniport.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows XP e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Universale
Intestazione storport.h (include Storport.h)
Libreria Storport.lib

Vedi anche

HW_INITIALIZATION_DATA

StorPortInitialize