Compartir a través de


Función ScsiPortSetBusDataByOffset (srb.h)

La rutina ScsiPortSetBusDataByOffset establece los datos de configuración de bus para un adaptador en un bus de E/S configurable dinámicamente con una interfaz estándar publicada.

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 ULONG ScsiPortSetBusDataByOffset(
  [in] PVOID DeviceExtension,
  [in] ULONG BusDataType,
  [in] ULONG SystemIoBusNumber,
  [in] ULONG SlotNumber,
  [in] PVOID Buffer,
  [in] ULONG Offset,
  [in] ULONG Length
);

Parámetros

[in] DeviceExtension

Puntero a la extensión del dispositivo del controlador de minipuerto.

[in] BusDataType

Contiene un valor de tipo BUS_DATA_TYPE que especifica el tipo de datos de bus que se van a establecer. Actualmente, su valor puede ser PCIConfiguration. Sin embargo, en el futuro se admitirán otros tipos adicionales de buses estandarizados y configurables dinámicamente. El límite superior de los tipos de bus admitidos siempre es MaximumBusDataType.

[in] SystemIoBusNumber

Especifica el número asignado por el sistema del bus de E/S en el que está conectado el HBA. La rutina HwScsiFindAdapter del controlador miniporte obtiene este valor del miembro de entrada PORT_CONFIGURATION_INFORMATION SystemIoBusNumber .

[in] SlotNumber

Especifica el número de ranura lógica del HBA.

Cuando PCIConfiguration se especifica como BusDataType, este parámetro debe especificarse como un valor de tipo PCI_SLOT_NUMBER.

[in] Buffer

Puntero a un área de almacenamiento proporcionada por el autor de la llamada con información de configuración específica de BusDataType.

Cuando se especifica PCIConfiguration , el búfer contiene parte o toda la información de PCI_COMMON_CONFIG para el slotNumber especificado. El desplazamiento y la longitud especificados determinan la cantidad de información proporcionada.

[in] Offset

Especifica el desplazamiento de bytes dentro de la estructura PCI_COMMON_CONFIG en la que comienzan los valores de configuración proporcionados por el autor de la llamada. Un controlador de minipuerto puede usar PCI_COMMON_HDR_LENGTH para especificar el desplazamiento del área específica del dispositivo en PCI_COMMON_CONFIG.

[in] Length

Especifica el número de bytes en el área de almacenamiento en buffer.

Valor devuelto

ScsiPortSetBusDataByOffset devuelve el número de bytes de datos establecidos correctamente para el valor de SlotNumber determinado. Si busDataType especificado no es válido para la plataforma actual o si la información proporcionada no es válida, ScsiPortSetBusDataByOffset devuelve cero.

Comentarios

Los controladores de miniporte de HBA en un autobús PCI rara vez llaman a ScsiPortSetBusDataByOffset a menos que circunstancias inusuales o la naturaleza de un HBA de un controlador determinado requiera dicha llamada. Por ejemplo, un controlador de minipuerto podría llamar a ScsiPortSetBusDataByOffset para borrar un bit en el registro de estado PCI si su HBA señala una anulación de destino durante la inicialización o para establecer datos de configuración específicos del dispositivo para el HBA.

Solo se puede llamar a ScsiPortSetBusDataByOffset desde la rutina HwScsiFindAdapter del controlador de miniporte o desde HwScsiAdapterControl cuando el tipo de control es ScsiSetRunningConfig.

Requisitos

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

Consulte también

HalSetBusDataByOffset

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)

ScsiPortGetBusData