Compartir a través de


Función ScsiPortGetLogicalUnit (srb.h)

La rutina ScsiPortGetLogicalUnit devuelve un puntero al área de almacenamiento por LU del controlador de miniport para un periférico determinado.

Nota Los modelos del controlador de puerto SCSI y del controlador de miniporte SCSI pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar el controlador Storport y los modelos de controlador de miniport storport .
 

Sintaxis

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

Parámetros

[in] HwDeviceExtension

Puntero a la extensión de dispositivo de hardware. Se trata de un área de almacenamiento por HBA que el controlador de puerto asigna e inicializa en nombre del controlador de minipuerto. Los controladores de minipuerto suelen almacenar información específica de HBA en esta extensión, como el estado del HBA y los intervalos de acceso asignados del HBA. Esta área está disponible para el controlador de miniport en el miembro DeviceExtension-HwDeviceExtension> del objeto de dispositivo del HBA inmediatamente después de que el controlador de miniporte llame a ScsiPortInitialize. El controlador de puerto libera esta memoria cuando quita el dispositivo.

[in] PathId

Identifica el bus SCSI.

[in] TargetId

Identifica el controlador de destino o el dispositivo en el bus.

[in] Lun

Identifica el número de unidad lógica del dispositivo de destino.

Valor devuelto

ScsiPortGetLogicalUnit devuelve un puntero al área de almacenamiento del controlador de miniport para la unidad lógica solicitada. Si el controlador de puerto específico del sistema operativo considera que esta unidad lógica no existe, devuelve NULL.

Comentarios

ScsiPortGetLogicalUnit es irrelevante si la rutina DriverEntry del controlador de miniport especifica cero para luExtensionSize en el HW_INITIALIZATION_DATA cuando se llama a ScsiPortInitialize. De lo contrario, el controlador de puerto específico del sistema operativo asigna e inicializa con ceros un conjunto de extensiones de LU del tamaño especificado para que el controlador de miniporte lo use.

El almacenamiento por LU se puede usar para almacenar datos relevantes para un periférico determinado, como punteros de datos guardados. Para acceder a esta área, el controlador de minipuerto llama a ScsiPortGetLogicalUnit cuando el controlador mantiene información sobre el estado o la operación actual de cualquier periférico determinado.

El controlador de puerto específico del sistema operativo puede considerar que una unidad lógica no existe si no hay ninguna solicitud activa para esa unidad lógica y el dispositivo nunca se ha seleccionado correctamente.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado srb.h (incluya Miniport.h, Scsi.h)
Library Scsiport.lib

Consulte también

DriverEntry del controlador miniport SCSI

HW_INITIALIZATION_DATA (SCSI)

ScsiPortInitialize

ScsiPortMoveMemory