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.
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 |