Condividi tramite


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 per hba che il driver di porta alloca e inizializza per conto del driver miniport. I driver Miniport archivia in genere informazioni specifiche di 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 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 sul 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.

Osservazioni

StorPortGetLogicalUnit è irrilevante se la routine DriverEntry del driver miniport ha specificato zero per il 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.

Per-LU archiviazione 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 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 interrupt. La chiamata StorPortGetLogicalUnit troppo spesso a questo livello irQL influisce sulle prestazioni e sulla scalabilità del driver miniport.

Fabbisogno

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

Vedere anche

HW_INITIALIZATION_DATA

StorPortInitialize