Função AtaPortRequestSynchronizedRoutine (irb.h)

A rotina AtaPortRequestSynchronizedRoutine é usada pelo driver de miniporto para solicitar a sincronização com a ISR (rotina de serviço de interrupção).

Nota O driver de porta do ATA e os modelos de driver de miniporta do ATA podem ser alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar os modelos de driver storport e driver de miniporto Storport .
 

Sintaxe

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

Parâmetros

[in] ChannelExtension

Um ponteiro para a extensão de canal.

CallBackRoutine

Um ponteiro para a rotina a ser chamada.

Retornar valor

Nenhum

Comentários

Normalmente, essa rotina é usada por drivers de miniporta que definem o membro SyncWithIsr da estrutura IDE_CHANNEL_CONFIGURATION como FALSE. Quando SyncWithIsr é definido como FALSE, o driver de miniporto deve usar a rotina AtaPortRequestSynchronizedRoutine para garantir o acesso sincronizado às estruturas de dados modificadas no ISR.

O ponteiro para a extensão de canal armazenada em ChannelExtension será passado para a rotina de trabalho quando ela for chamada.

Quando o driver de porta chama a rotina apontada por SynchronizedRoutine, ele passa o ponteiro para a extensão de canal armazenada em ChannelExtension.

O ponteiro da função SynchronizedRoutine é declarado em Irb.h da seguinte maneira:

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

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho irb.h (inclua Ata.h, Irb.h)

Confira também

AtaPortControllerSyncRoutine