Compartir a través de


Función StorPortGetDeviceBase (storport.h)

La rutina StorPortGetDeviceBase asigna una dirección de E/S al espacio de direcciones del sistema.

Sintaxis

STORPORT_API PVOID StorPortGetDeviceBase(
  [in] PVOID                 HwDeviceExtension,
  [in] INTERFACE_TYPE        BusType,
  [in] ULONG                 SystemIoBusNumber,
  [in] STOR_PHYSICAL_ADDRESS IoAddress,
  [in] ULONG                 NumberOfBytes,
  [in] BOOLEAN               InIoSpace
);

Parámetros

[in] HwDeviceExtension

Puntero a la extensión de dispositivo de hardware. Se trata de un área de almacenamiento por HBA que el controlador de puerto asigna e inicializa en nombre del controlador de miniport. Los controladores de miniportar suelen almacenar información específica de HBA en esta extensión, como el estado del HBA y los intervalos de acceso asignados para el HBA. Esta área está disponible para el controlador de miniporte inmediatamente después de que el controlador de miniporte llame a StorPortInitialize. El controlador de puerto libera esta memoria cuando quita el dispositivo.

[in] BusType

Especifica el tipo de interfaz del bus de E/S en el que está conectado el HBA. La rutina HwStorFindAdapt er del controlador de miniporte obtiene el valor de este parámetro del miembro AdapterInterfaceType de la entrada PORT_CONFIGURATION_INFORMATION.

[in] SystemIoBusNumber

Especifica el número asignado por el sistema del bus de E/S en el que está conectado el HBA. La rutina HwStorFindAdapter obtiene el valor de este parámetro del miembro SystemIoBusNum ber de la entrada PORT_CONFIGURATION_INFORMATION.

[in] IoAddress

Especifica la dirección base relativa al bus de un intervalo utilizado por el HBA. La rutina HwStorFindAdapter de obtiene el valor de este parámetro de uno de los elementos de AccessRanges en el PORT_CONFIGURATION_INFORMATION si el controlador de puerto proporciona información de configuración de intervalo. De lo contrario, esta dirección puede ser un valor devuelto por StorPortGetBusData o un valor predeterminado proporcionado por el controlador de miniport. Evite usar una dirección base de cero porque su estado devuelto correcto puede entrar en conflicto con el estado de error (NULL).

[in] NumberOfBytes

Especifica el tamaño en bytes del intervalo que debe cubrir la asignación. La rutina HwStorFindAdapter obtiene el valor de este parámetro del mismo elemento AccessRanges que ioAddress si el controlador de puerto proporciona información de configuración del intervalo. De lo contrario, StorPortGetBusData puede devolver este valor o un valor predeterminado proporcionado por el controlador de miniport. En cualquier caso, el controlador no debe tener acceso al hardware fuera del intervalo devuelto asignado.

[in] InIoSpace

TRUE indica que el intervalo que se va a asignar está en el espacio de E/S y el controlador de miniporte pasará direcciones asignadas en este intervalo al puerto de Storport rutinas de lectura y escritura para comunicarse con el HBA. La rutina HwStorFindAdapter obtiene el valor de este parámetro del mismo elemento AccessRanges que IoAddress. Tenga en cuenta que un controlador de miniporte debe invertir el valor del miembro InMemorySpace en un elemento de tipo ACCESS_RANGE antes de pasarlo a StorPortGetDeviceBase como argumento InIoSpace. FALSE indica que el intervalo que se va a asignar está en el espacio de memoria.

Valor devuelto

Dirección base lógica asignada correspondiente a la dirección relativa al bus proporcionada en el parámetro IoAddress.

Observaciones

Cada controlador de minipuerto debe pasar direcciones de intervalo de acceso lógico asignados al puerto de Storport rutinas de lectura y escritura y las rutinas de lectura y escritura de Storport registrar rutinas de lectura y escritura al comunicarse con sus HBA.

Esta rutina solo admite las direcciones asignadas al controlador por el administrador del sistema Plug and Play (PnP).

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de storport.h (incluya Storport.h)
biblioteca de Storport.lib

Consulte también

StorPortFreeDeviceBase