IDE_CHANNEL_INIT función de devolución de llamada (irb.h)

La rutina del controlador de minipuerto de AtaChannelInitRoutine inicializa la interfaz de canal del controlador de minipuerto.

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 los modelos del controlador Storport y del controlador storport miniport .

Sintaxis

IDE_CHANNEL_INIT IdeChannelInit;

BOOLEAN IdeChannelInit(
  PVOID ChannelExtension,
  PIDE_CHANNEL_INTERFACE ChannelInterface,
  PVOID InitContext
)
{...}

Parámetros

ChannelExtension

[in] Puntero a la extensión del canal del controlador de minipuerto.

ChannelInterface

[dentro, fuera] Puntero a una estructura IDE_CHANNEL_INTERFACE que contiene información de interfaz para el canal indicado.

InitContext

[dentro, fuera] Puntero a la extensión del controlador.

Valor devuelto

AtaChannelInitRoutine devuelve TRUE si la inicialización se realizó correctamente. Devuelve FALSE si se produjo un error en la inicialización.

Comentarios

Un controlador de minipuerto suministrado por el proveedor que admita la interfaz de canal debe implementar una rutina AtaChannelInitRoutine para inicializar los canales del controlador. En concreto, la rutina AtaChannelInitRoutine debe completar la inicialización de la estructura de IDE_CHANNEL_INTERFACE . En la secuencia siguiente se describe cómo interactúa el controlador de minipuerto y el controlador de puerto para inicializar un canal:

  1. Mientras se encuentra en su rutina DriverEntry , el controlador de minipuerto llama a la rutina de biblioteca AtaPortInitializeEx del controlador del puerto para iniciar la inicialización del controlador y el controlador de minipuerto.

  2. Si el controlador de minipuerto admite la interfaz de canal, la rutina DriverEntry debe inicializar el miembro AtaChannelInitRoutine de IDE_CONTROLLER_INTERFACE para apuntar a la rutina AtaChannelInitRoutine del controlador de minipuerto.

  3. El controlador de puerto llama a la rutina AtaAdapterControl mediante la acción de control IdeStart. AtaChannelInitRoutine se llama una vez por cada NumberOfChannels especificado en la estructura ControllerConfiguration que devuelve la rutina AtaAdapterControl cuando AtaAdapterControl controla una acción IdeStart .

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado irb.h (incluir Irb.h)

Consulte también

AtaPortInitializeEx

IDE_CHANNEL_INTERFACE

IDE_CONTROLLER_INTERFACE