Compartir a través de


Función ScsiPortGetBusData (srb.h)

La rutina ScsiPortGetBusData devuelve información de configuración específica del tipo de bus que un controlador de miniporte HwScsiFindAdapter rutina puede 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 de controlador de puerto SCSI y controlador de miniport SCSI pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar el del controlador storport de y modelos de controlador de 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, Poso 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 de HwScsiFindAdapt er del controlador de 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 el longitud especificado 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 buffer, o cero si el autor de la llamada requiere que el controlador de puerto específico del sistema operativo asigne un búfer para contener los datos.

Valor devuelto

ScsiPortGetBusData devuelve el número de bytes de información de configuración que almacena 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 especificado SlotNumber. El de búfer de contiene el valor PCI_INVALID_VENDOR_ID en el miembro VendorId de PCI_COMMON_CONFIG.

Observaciones

ScsiPortGetBusData solo se puede llamar desde una rutina de HwScsiFindAdapter del controlador de miniporte o desde HwScsiAdapterControl cuando el tipo de control es ScsiSetRunningConfig. Las llamadas de otras rutinas del controlador de miniportar provocará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 miniporta llama ScsiPortGetBusData de nuevo. En cuanto el autor de la llamada HwScsiFindAdapter rutina devuelve el control, los datos de configuración devueltos no son válidos.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de srb.h (include Miniport.h, Scsi.h)
biblioteca de Scsiport.lib

Consulte también

HwScsiFindAdapter

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

de PORT_CONFIGURATION_INFORMATION (SCSI)