Método IWDFInterrupt::TryToAcquireInterruptLock (wudfddi.h)
[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum recurso novo está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar o UMDF 2. Para obter mais informações, consulte Introdução aoda UMDF .]
O método TryToAcquireInterruptLock adquirirá o bloqueio de interrupção se nenhum outro thread já o tiver adquirido.
Sintaxe
BOOLEAN TryToAcquireInterruptLock();
Valor de retorno
O método retornará TRUE se o bloqueio de interrupção tiver sido adquirido com êxito. Caso contrário, o método retornará FALSE.
Observações
Ao contrário de IWDFInterrupt::AcquireInterruptLock, IWDFInterrupt::TryToAcquireInterruptLock não aguardará que o bloqueio de interrupção fique disponível se outro thread estiver mantendo-o.
Ao executar em um thread arbitrário, como um método de retorno de chamada de fila de E/S, os drivers devem chamar IWDFInterrupt::TryToAcquireInterruptLock em vez de IWDFInterrupt::AcquireInterruptLock. Por exemplo, o driver chama IWDFInterrupt::TryToAcquireInterruptLock de IQueueCallbackRead::OnRead. Isso evita a possibilidade de deadlock, conforme descrito na seção Comentários de IWDFInterrupt::AcquireInterruptLock.
O driver não deve tentar adquirir o bloqueio recursivamente. Se estiver conectada ao depurador, a estrutura introduzirá um ponto de interrupção nesse cenário.
Para obter mais informações sobre o bloqueio manual de interrupção, consulte Sincronizando o código de interrupção.
Para obter mais informações sobre como lidar com interrupções em drivers UMDF, consulte Acessando o hardware e tratando interrupções.
Requisitos
Requisito | Valor |
---|---|
fim do suporte | Indisponível no UMDF 2.0 e posterior. |
da Plataforma de Destino | Área de trabalho |
versão mínima do UMDF | 1.11 |
cabeçalho | wudfddi.h |
de DLL | WUDFx.dll |