Función StorPortGetBusData (storport.h)
La rutina StorPortGetBusData recupera la información de configuración específica del bus necesaria para inicializar el HBA.
Sintaxis
STORPORT_API ULONG StorPortGetBusData(
[in] PVOID DeviceExtension,
[in] ULONG BusDataType,
[in] ULONG SystemIoBusNumber,
[in] ULONG SlotNumber,
[in, out] 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 HwStorFindAdapter del controlador miniporte obtiene este valor del miembro SystemIoBusNumber establecido inicialmente en PORT_CONFIGURATION_INFORMATION.
[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, out] 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 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 que contenga los datos.
Valor devuelto
StorPortGetBusData devuelve el número de bytes de información de configuración almacenada en el búfer. Cuando la entrada BusDataType es PCIConfiguration, StorPortGetBusData 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
Un controlador de minipuerto puede llamar a StorPortGetBusData desde las rutinas siguientes:
- Desde su rutina de devolución de llamada HwStorFindAdapter .
- Desde su HwStorAdapterControl solo cuando ControlType 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 StorPortGetBusData solo son válidos hasta que el controlador de miniporte llama a StorPortGetBusData de nuevo. En cuanto la rutina HwStorFindAdapter del autor de la llamada devuelve el control, los datos de configuración devueltos no son válidos.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | storport.h (incluya Storport.h) |
Library | Storport.lib |