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 |