Función ScsiPortGetBusData (srb.h)

La rutina ScsiPortGetBusData devuelve información de configuración específica del tipo de bus que una rutina HwScsiFindAdapter del controlador de miniporte podría usar para determinar si admite un adaptador determinado en un bus de E/S determinado y configurar el HBA si lo hace.

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

Parámetros

[in] DeviceExtension

Puntero al área de almacenamiento del controlador de miniporte por HBA.

[in] BusDataType

Contiene un valor de tipo BUS_DATA_TYPE que especifica el tipo de datos de configuración específicos del bus que se van a devolver. Actualmente, este valor puede ser uno de los siguientes: Cmos, EisaConfiguration, Pos o PCIConfiguration. Sin embargo, en el futuro se admitirán tipos adicionales de configuración de bus. El límite superior de los tipos admitidos siempre es MaximumBusDataType.

[in] SystemIoBusNumber

Especifica el número asignado por el sistema del bus de E/S. 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 o la ubicación del dispositivo.

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

[in] Buffer

Puntero a un búfer o área a la que se devuelven los datos de configuración o, si la longitud especificada es cero, apunta a una ubicación a la que el controlador de puerto específico del sistema operativo devuelve un puntero a un búfer que asigna.

[in] Length

Especifica el número máximo de bytes que se van a devolver en el búfer o cero si el autor de la llamada requiere el controlador de puerto específico del sistema operativo para asignar un búfer para contener los datos.

Valor devuelto

ScsiPortGetBusData devuelve el número de bytes de información de configuración almacenada en el búfer. Cuando la entrada BusDataType es PCIConfiguration, ScsiPortGetBusData puede devolver cualquiera de los valores siguientes para indicar un error.

Código devuelto Descripción
0 (cero)
El bus PCI no existe.
2
El bus PCI existe, pero no hay ningún dispositivo en el pci slotNumber dado. El búfer contiene el valor PCI_INVALID_VENDOR_ID en el miembro PCI_COMMON_CONFIG VendorId .

Comentarios

Solo se puede llamar a ScsiPortGetBusData desde una rutina HwScsiFindAdapter del controlador de miniport o desde HwScsiAdapterControl cuando el tipo de control es ScsiSetRunningConfig. Las llamadas de otras rutinas del controlador de miniporte producirán un error del sistema o una operación incorrecta para el autor de la llamada.

Los datos de configuración devueltos por ScsiPortGetBusData solo son válidos hasta que el controlador de miniporte llama a ScsiPortGetBusData de nuevo. En cuanto la rutina HwScsiFindAdapter del autor de la llamada devuelve el control, los datos de configuración devueltos no son válidos.

Requisitos

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

Consulte también

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

PORT_CONFIGURATION_INFORMATION (SCSI)