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).
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) |