Compartir a través de


Función AtaPortRequestSynchronizedRoutine (irb.h)

El controlador de minipuerto usa la rutina AtaPortRequestSynchronizedRoutine para solicitar la sincronización con la rutina de servicio de interrupción (ISR).

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

BOOLEAN AtaPortRequestSynchronizedRoutine(
  [in] PVOID      ChannelExtension,
       IDE_HW_DPC CallBackRoutine
);

Parámetros

[in] ChannelExtension

Puntero a la extensión de canal.

CallBackRoutine

Puntero a la rutina a la que se va a llamar.

Valor devuelto

None

Observaciones

Esta rutina se usa normalmente por los controladores de minipuerto que establecen el miembro SyncWithIsr de la estructura de IDE_CHANNEL_CONFIGURATIONen FALSE. Cuando SyncWithIsr se establece en FALSE, el controlador de minipuerto debe usar la rutina AtaPortRequestSynchronizedRoutine para garantizar el acceso sincronizado a las estructuras de datos modificadas en el ISR.

El puntero a la extensión de canal que se almacena en ChannelExtension se pasará a la rutina de trabajo cuando se llame a .

Cuando el controlador de puerto llama a la rutina a la que apunta SynchronizedRoutine, pasa el puntero a la extensión de canal almacenada en ChannelExtension.

El puntero de función SynchronizedRoutine se declara en Irb.h de la siguiente manera:

typedef
VOID
(*IDE_HW_DPC) (
  IN PVOID ChannelExtension
  );

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado irb.h (incluya Ata.h, Irb.h)

Consulte también

AtaPortControllerSyncRoutine