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.
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 |
---|---|
|
El bus PCI no existe. |
|
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 |