Método IPortWaveCyclic::Notify (portcls.h)
O método Notify
notifica o driver de porta de que ocorreu uma interrupção que indica o progresso do ponteiro DMA. Ele deve ser chamado da ISR (rotina de serviço de interrupção) do driver de miniporto.
Sintaxe
void Notify(
[in] PSERVICEGROUP ServiceGroup
);
Parâmetros
[in] ServiceGroup
Ponteiro para o objeto do do driver de miniporto IServiceGroup.
Valor de retorno
Nenhum
Observações
Esse método é vital para um tempo preciso. Os drivers de miniporto normalmente chamam esse método em resposta a uma interrupção de notificação depois de terem limpado a origem da interrupção. Embora o driver de miniporte seja livre para usar outros métodos para determinar quando chamar esse método, o tempo preciso é importante e deve ser mantido.
Quando um driver de adaptador instala um ISR, ele envia um parâmetro ServiceContext juntamente com o ponto de entrada do ISR (para obter detalhes, consulte Fornecendo informações de contexto isr). Quando a interrupção ocorre, o sistema operacional chama o ISR e passa ServiceContext como um parâmetro de chamada para o ISR. Embora o significado do parâmetro ServiceContext seja conhecido apenas pelo desenvolvedor do driver, ele normalmente é um ponteiro para o objeto de miniporto. O ISR usa esse ponteiro para acessar informações sobre o objeto miniport.
O driver de porta chama o método IMiniportWaveCyclicStream::SetNotificationFreq para especificar a frequência com que o ISR deve chamar o método Notify
. Em todas as versões atuais do Windows, o driver de porta especifica um intervalo regular de 10 milissegundos entre notificações sucessivas. Esse valor pode mudar em uma versão futura.
O parâmetro ServiceGroup segue as convenções de contagem de referência para objetos COM.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | portcls.h (inclua Portcls.h) |
IRQL | Qualquer nível |