Función AtaPortInitializeEx (irb.h)

La rutina de biblioteca de controladores de puerto ATA ATA AtaPortInitializeEx inicializa los controladores de puerto y miniport.

Nota Los modelos de controlador de puerto ATA y controlador de minipuerto de ATA 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

ULONG AtaPortInitializeEx(
  [in] PVOID                     DriverObject,
  [in] PVOID                     RegistryPath,
  [in] PIDE_CONTROLLER_INTERFACE ControllerInterface
);

Parámetros

[in] DriverObject

Puntero al objeto de controlador de minipuerto.

[in] RegistryPath

Contiene una cadena Unicode que indica la ubicación en el registro donde se almacena la información de configuración del controlador de miniport.

[in] ControllerInterface

Contiene los puntos de entrada de las rutinas AtaAdapterControl, AtaChannelInitRoutine, AtaControllerChannelEnabled y AtaControllerTransferModeSelect .

Valor devuelto

AtaPortInitializeEx devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, devuelve un código de error.

Comentarios

La rutina AtaPortInitializeEx inicializa las estructuras de datos clave que usan los controladores de puerto y minipuerto. También inicia la inicialización de los canales del controlador. En la secuencia siguiente se describen las acciones principales realizadas por esta rutina:

  1. Mientras se encuentra en su rutina DriverEntry , el controlador de minipuerto llama a la rutina de biblioteca AtaPortInitializeEx del controlador de puerto y lo pasa los siguientes parámetros clave:
    • ControllerInterface: contiene los puntos de entrada de las rutinas AtaAdapterControl, AtaChannelInitRoutine, AtaControllerChannelEnabled y AtaControllerTransferModeSelect .
  2. La rutina AtaPortInitializeEx inicializa las estructuras de datos clave que usan los controladores de puerto y miniporte y realiza las siguientes acciones:
    1. Inicializa las tablas de distribución del controlador de miniporte.
    2. Asigna una extensión para el objeto de controlador.
    3. Copia ControllerInterface en la extensión del controlador.
    4. Una vez que AtaPortInitializeEx completa la inicialización del controlador de puerto, vuelve a la rutina DriverEntry del controlador de miniporte.
  3. Al iniciar el dispositivo adaptador, el controlador de puerto llamará a la rutina del controlador de miniporte AtaAdapterControl con la acción de control IdeStart.
  4. Cuando el controlador de puerto de ATA está procesando una solicitud de inicio del dispositivo de canal, se llama a la rutina del controlador de miniporte AtaControllerChannelEnabled para cada canal del controlador para determinar si está habilitado.
  5. Una vez que la rutina AtaControllerChannelEnabled determina qué canales están habilitados, el controlador de puerto de ATA llama a AtaChannelInitRoutine para este canal.

Requisitos

   
Plataforma de destino Escritorio
Header irb.h (incluya Ata.h, Irb.h)
Library Pciidex.lib

Consulte también

AtaChannelInitRoutine

AtaControllerChannelEnabled

DriverEntry

IDE_CONTROLLER_CONFIGURATION